2011-09-05 100 views
-3

我完全喪失了這一點,我需要創建一個像Facebook一樣的「按鈕」按鈕,我試圖用jQuery來做到這一點,但沒有得到任何地方。我需要基本上添加一行到MySQL數據庫,然後更新頁面上按鈕旁邊的「喜歡」數量,而不必刷新。如何創建一個像「臉譜」一樣的按鈕

任何人都可以在這方面幫助,因爲我完全卡住,因爲我不知道JavaScript或jQuery的:(

希望有人能爲推動我堅果:)

+0

你嘗試過什麼?顯示一些示例代碼,人們將會更加高興地提供幫助。你在哪裏遇到這個問題 - 你是否已經擁有服務器端腳本來更新數據庫,或者你是否也需要幫助? –

+0

@詹姆斯我有服務器端腳本那不是一個問題。我還沒有添加任何的JavaScript代碼,因爲它只是不以我想要的方式工作,所以沒有想到有任何點:( – Tony

回答

1

這是我認爲的基礎知識?

您的按鈕

<div id="likeMe">Like This</div> 

您回電格

<div style="display: none" class="addlike">loading...</div> 

你的JavaScript

<script type="text/javascript"> 
$("#likeMe").click(function() { 
$(".addlike").delay(10000).load("savelike.php?page_id=<?php echo $p;?>&user=<?php echo $user_id;?>&msd=" + new Date().getTime()); 
}); 
</script> 

你的PHP保存 頁savelike.php

$page_id = $_REQUEST["page_id"]; 
$user = $_REQUEST["user"]; 
$sql ="INSERT INTO MYLIKES SET user = '$user' && page_id = '$page_id'"; 
$query = mysql_query($sql) or die("Cannot query the database." . mysql_error()); 
0

最合乎邏輯的方式來更新數據庫使用javascript是使用服務器端語言創建一個API,它將允許您調用一個URL來增加數據庫中的值。

例如,你將有一個網址http://www.example.com/ajax/incrementLikes.php

,然後你可以使用一個位的jQuery到例如,呼叫按鈕的點擊該網址

$('.button').click(function(e) { 
    $.ajax({ 
     url: 'http://www.example.com/ajax/incrementLikes.php' 
    }); 
}); 
0

我假設你有類似以下數據庫模型來存儲用戶和職位信息:

Sample database diagram

關係:

Users.UserID => Posts.UserID

Users.UserID => Likes.UserID

Posts.PostID => Likes.PostID


當用戶點擊一個職位的Like/Unlike按鈕,你應該添加/ Likes表中刪除記錄。爲了顯示喜歡數,你可以簡單地在喜歡錶中用特定的PostID來統計行數。

您可以使用JQueryPost()方法將表單發佈到服務器,而無需重新加載整個頁面。你喜歡的按鈕將是這樣的:

<a href="#" onclick="javascript:$.Post("YourPageUrl.php", { action: "Like", postID: <?php CODE TO GENERATE POSTID ?> }, changeLikeStatusForThisPost(<?php CODE TO GENERATE POSTID ?>));"><?php CODE TO GENERATE LIKE OR UNLIKE TEXT?></a> 
相關問題