2011-05-26 73 views
0

我在我第一個AJAX項目的最後一站。我有一個有評論的社交網絡。我只是簡單地添加一個拇指圖標,當按下時,通過JQUERY發送​​評論的id到一個後臺php頁面,這個頁面是SUPPOSED用於存儲評論的id以及它被按下(增量)的記錄。發生這種情況之後,我需要將該記錄發送回拇指圖標所在的頁面,並告知該頁面拇指已被擊中並在指定區域增加計數器。如何通過AJAX將增加的選票存儲在我的數據庫中?

thumb_increment表我:

id是自動遞增, comment_id那就是被upvoted評論的ID。

我想知道是否應該添加另一列來保存upvotes的數量或只是跟蹤comment_id列。我對那裏的邏輯有點困惑。

到目前爲止,我可以點擊拇指,並讓它通過我的其他頁面發送ID並通過$_POST獲取ID。下面是該代碼:

<?php 

// 1. CHECK AND SEE IF THE "$comment_id" IS VALID. I AM GOING TO RETREIVE THE VALUE OF THE $_POST BEING SENT FROM THE PHP PAGE THAT IS SENDING THE REQUEST 

/* QUERY TO CHECK $_POST DATA WITH: */ 

/* this is grabbing id that jquery sent over via post */ 
if(isset($_POST['comment_id'])) { 

/* making a variable out of the grabbed id */ 
$retreived_comment_id = ($_POST['comment_id']); 

/* this query is bring to frutation the exact id of the comment */ 
$query = "SELECT * FROM `CysticAirwaves` WHERE `id` = '".$retreived_comment_id."' && `status` = 'active'"; 
$request = mysql_query($query,$connection); 
if($result = mysql_fetch_array($request)) { 

/* insert the comment into the increment table */ 

$query = "INSERT INTO `thumb_increment` (
           `comment_id` 
          ) VALUES (
          '" . $retreived_comment_id . "' 
           )"; 
mysql_query($query,$connection); 

/* increment the vote in the db */ 

    } 

} 


?> 

因此,要總結一下我還沒做:

我需要增加和註釋存儲在我的數據庫,把在一個varaible發送回頁面它有它的拇指圖標,並有一個增量的可變粘性計數器

在此先感謝。

回答

0

編輯

對於剛剛數據庫部分,按您的評論...

我只希望有標準化的數據庫給予好評包含:

comment_id, user_who_voted_id, timestamp 

今後如果你想要有一個downvote的概念,像stackoverflow,你可能需要添加另一列。在前一種簡單的情況,得到計數,你只是在做這樣的事情:

SELECT count(*) FROM thumb_increment WHERE comment_id = ? 

老回答

爲你

不會用的東西。獲得$像這樣的修改狀態。我可能會使用一個帖子。要重寫他的榜樣......

http://api.jquery.com/jQuery.post/

http://api.jquery.com/serialize/

http://api.jquery.com/parent/

// Assuming html that looks something like the following 
<form id='comment_details_123123'> 
    <input type='hidden' value='123123' name='comment_id' /> 
    <div class='thumb'><img src='thumb.jpg' /></div> 
    <div class='thumb_counter'>3</div> 
</form> 

$('.thumb').click(function(){ 
    var comment_form = $(this).parent('form'); 
    $.post('comment.php', comment_form.serialize(), function(response) { 
     comment_form.find('.thumb_counter').html(response.new_count); 
    }); 
}); 
+0

jQuery的部分是我工作的罰款。正如我的問題所述,我需要幫助。 – LightningWrist 2011-05-30 19:52:40

+0

根據您的評論添加更多詳情... – Josh 2011-05-30 22:48:36

相關問題