|
|
|
ต้องการดูตัวอย่างโค้ดโหวต PHP ครับ ขอบคุณมาๆเลยน่ะครับ |
|
|
|
|
|
|
|
เงียบกริบ
|
|
|
|
|
Date :
2012-02-01 22:47:10 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองปรับๆดูนะครับผม
Code (HTML)
<ul>
<li id="p1">
post1
<button onclick="like('p1')">ชอบ</button>
<span class="likescore"></span>
<button onclick="dislike('p1')">ไม่ชอบ</button>
<span class="dislikescore"></span>
</li>
<li id="p2">
post1
<button onclick="like('p2')">ชอบ</button>
<span class="likescore"></span>
<button onclick="dislike('p2')">ไม่ชอบ</button>
<span class="dislikescore"></span>
</li>
<li id="p3">
post1
<button onclick="like('p3')">ชอบ</button>
<span class="likescore"></span>
<button onclick="dislike('p3')">ไม่ชอบ</button>
<span class="dislikescore"></span>
</li>
</ul>
บันทึกโดยใช้ Ajax ผ่าน jQuery จะง่ายกว่า
Code (JavaScript)
function like(pid)
{
$.post('/save.php?action=like',{'id':pid} , function(data) {
$('li#p'+pid+'>span.like').html(data.score);
});
}
function dislike(pid)
{
$.post('/save.php?action=dislike',{'id':pid} , function(data) {
$('li#p'+pid+'>span.dislike').html(data.score);
});
}
Code (PHP)
//Like
if(@$_REQUEST['action']=='like')
{
$sql = 'update ชื่อตาราง set like=like+1 where id='.$_REQUEST['id'];
$update = mysql_query($sql);
if($update)
{
$sql = mysql_query('select like from ชื่อตาราง where id='.$_REQUEST['id']);
$res = mysql_fetch_array($sql);
echo "{'score':'".$res['like']."'}";
}
}
if(@$_REQUEST['action']=='dislike')
{
$sql = 'update ชื่อตาราง set dislike=dislike+1 where id='.$_REQUEST['id'];
$update = mysql_query($sql);
if($update)
{
$sql = mysql_query('select dislikefrom ชื่อตาราง where id='.$_REQUEST['id']);
$res = mysql_fetch_array($sql);
echo "{'score':'".$res['dislike']."'}";
}
}
|
|
|
|
|
Date :
2012-02-02 00:31:52 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณท่าน aPinan มากๆๆๆๆครับ
|
|
|
|
|
Date :
2012-02-02 00:49:54 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ครับ คือจากตัวอย่างที่ผมทำมันมีแค่สาม แต่ของจริงมันมีเป็นพันอ่าครับ
ตรงฟอร์มจะให้มันเป็นอัตโตโนมัติได้ไหมครับ โดยไม่ต้องไปกำหนด p1 p2 p3
แล้วก็ตรง DB จะแก้ยังไงให้มันรับได้เป็นพันโหวตอ่าครับ
พอดีมือใหม่ หัดเขียนอ่าครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-02-02 01:04:19 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมครับ
เหมือนกระทู้แสดงความเห็นอ่าครับ ประมาณว่า ชอบความเห็นนี้ ไม่ชอบความเห็นนี้
ความเห็นก็จะถูกโพสขึ้นเรื่อยๆ โหวตก็จะแสดงทุกความเห็น
|
|
|
|
|
Date :
2012-02-02 01:07:18 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. การแสดงแถวแบบ Dynamic
Code (คำถามแรก)
//เมื่อดึงคอมเม้นท์มาจากฐานข้อมูลจะมา 20 แถวล่าสุด เช่น
// $query = mysql_query('select * from comment where topic_id=1 order by id desc limit 0,20');
//เมื่อมาถึงการวนรอบเพื่อแสดงค่าโดยใช้ while
echo '<ul>';
while($result=mysql_fetch_array($query))
{
echo '<li id="p'.$result['id'].'">
'.$result['msg'].'
<button onclick="like('p'.$result['like'].'')">ชอบ</button>
<span class="likescore">'.$result['like'].'</span>
<button onclick="dislike('p'.$result['id'].'')">ไม่ชอบ</button>
<span class="dislikescore">'.$result['dislike'].'</span>
</li>';
}
echo '</ul>';
2. ส่วนตรง DB ให้รับได้เยอะๆนั้นก็สร้างตารางโดยกำหนดให้คอลัมป์ like และ dislike เป็น integer ก็พอครับ
3. เมื่อทำตามทั้งสองข้อที่ตอบไปก็จะได้อย่างที่ต้องการ
|
|
|
|
|
Date :
2012-02-02 01:25:29 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ ผมทำระบบโพสรูปไว้ครับ ทุกครั้งที่โพสรูปอยากให้มีโหวตนี้ขึ้นอัตโตโนมัติ โดยโหวตอิงจาก ID ของรูปนั้นๆ
โค้ดนี้ไปปรับใช้งานได้เลยใช่ไหมครับ
|
|
|
|
|
Date :
2012-02-02 01:35:37 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ครับ เพียงแค่กำหนดตอนบันทึกรูปลงฐานข้อมูลให้มีค่า like เป็น 1 ไว้ก่อน
|
|
|
|
|
Date :
2012-02-02 01:38:17 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทั้งหมดอยู่ในหน้าเดียวกัน
|
|
|
|
|
Date :
2012-02-02 01:39:47 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำถามคืออะไรครับจากรูปนี้
|
|
|
|
|
Date :
2012-02-02 01:42:28 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือว่า ระบบโพสรูปผม เป็นแบบรูปที่โพสไว้ข้างบนครับ id 001 ถึง id 9000
ให้มันมีโหวตทุกอันอ่าครับ แบบว่าหากเรากดโหวต รูป idที่ 800 ก็ +1 ที่ id 800
อยากได้โค้ดที่มันง่ายๆสุดอ่าครับ มือใหม่ครับ แต่อยากศึกษา
ถามวนไปวนมาก็ขออภัยน่ะครับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2012-02-02 01:46:55 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
//เมื่อดึงคอมเม้นท์มาจากฐานข้อมูลจะมา 20 แถวล่าสุด เช่น
// $query = mysql_query('select * from comment where topic_id=1 order by id desc limit 0,20');
//เมื่อมาถึงการวนรอบเพื่อแสดงค่าโดยใช้ while
echo '<ul>';
while($result=mysql_fetch_array($query))
{
echo '<li id="p'.$result['id'].'">
<img src="'.$result['image'].'"> // รูป
<button onclick="like('p'.$result['like'].'')">ชอบ</button>
<span class="likescore">'.$result['like'].'</span>
<button onclick="dislike('p'.$result['id'].'')">ไม่ชอบ</button>
<span class="dislikescore">'.$result['dislike'].'</span>
</li>';
}
echo '</ul>';
ใช้โค้ดที่เราคุยกันมานี้แหละง่ายละ แค่ให้มันแสดงรูปออกมาแค่นั้นเอง
|
|
|
|
|
Date :
2012-02-02 01:50:17 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆครับท่าน aPinan อีกคำถามน่ะครับ คือต้องเขียนโค้ดเชียมฐานข้อมูลก่อนใช่ไหมครับ
|
|
|
|
|
Date :
2012-02-02 02:01:17 |
By :
รรชัย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ให้ไปมีโค้ดเชื่อมฐานข้อมูลอยู่แล้วครับ
|
|
|
|
|
Date :
2012-02-02 02:07:09 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|