2011-10-06 52 views
-1

我的用戶表字段是ID,姓名,Twitter和點擊 (點擊隱藏)我想使用PHP和jQuery存儲在數據庫中的用戶點擊

邏輯是:當用戶點擊其他用戶的Twitter ID,然後在它應該被計數,然後新的更新點擊應該被存儲在數據庫中。 我可以做以上的邏輯。

但我不知道如何檢測任何鏈接上的鼠標點擊。 我的意思是 如果現在鏈接是http://www.twitter.com/twitter如果用戶點擊該鏈接,那麼點擊該鏈接應增加2. 請爲我提供適當的信息。 有幫助嗎?

更新:

<?php 

$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
mysql_select_db("users", $con); 

$result = mysql_query("SELECT * 
FROM `users` 
ORDER BY `users`.`clicks` DESC 
LIMIT 0 , 30"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['id'] . " <a href=" . $row['twitter']." target='_blank'>".$row['clicks']."</a>"; 
    echo "<br />"; 
    } 
// some click detection code may be here.. 


mysql_close($con); 


?> 

只要任何一個可以告訴我,如何在變量中存儲的點擊次數從$行[「點擊」] 如果需要的jQuery,那麼請提供適當的代碼最符合我上面的代碼。

+0

請編輯您的問題大鼠她比添加代碼作爲評論。它傷害了我的頭。 – Bruce

回答

-1

你必須創建一個重定向頁面存儲點擊... 修改連結此...(檢查回聲或複製粘貼,我希望它完美的作品)

<?php 

$con = mysql_connect("localhost", "root", ""); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("users", $con); 

$result = mysql_query("SELECT * 
FROM `users` 
ORDER BY `users`.`clicks` DESC 
LIMIT 0 , 30"); 

while ($row = mysql_fetch_assoc($result)) { 
    echo '<a href="redirect.php?id='. $row['id'] .'" target="_blank">'. $row['clicks'] .'</a>'; 
    echo "<br />"; 
} 
mysql_close($con); 
?> 

和redirect.php

<?php 

$con = mysql_connect("localhost", "root", ""); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("users", $con); 
// get id 
$id = (int) $_GET['id']; 
// prepare query 
$query = mysql_query("SELECT * 
FROM `users` 
WHERE id = $id"); 
// fetch 
$result = mysql_fetch_assoc($query); 
// add click 
$newclicks = $result['clicks'] + 1; 
// execute 
mysql_query("UPDATE users SET clicks = $newclicks WHERE id = $id"); 
// close 
mysql_close($con); 
// redirect 
header('Location: '. $result['twitter']); 
?> 
+1

-1 OP想要使用jQuery來做到這一點,你的答案是不是基於jQuery的解決方案 – Bruce

+0

是啊.. 它對我有用... 謝謝Vyriel。 – Prince

2

您需要在鏈接上附加點擊事件處理程序。要做到這一點,他們需要一些共同的標識符(在這種情況下,最好給所有的Twitter鏈接一個普通的類名稱,我將以twitter爲例)。然後你可以使用jQuery的click方法,將事件處理程序綁定,並觸發一個AJAX請求到PHP腳本實際更新數據庫:

$(".twitter").click(function() { 
    $.post("script.php", { 
     user: theClickedUserId //I'm assuming you'll want to pass in something to your script here 
    }, function() { 
     //Done! 
    } 
}); 
+0

我不明白你的答案:( script.php是爲? – Prince

+0

'script.php'是一個PHP文件,其中包含實際更新數據庫的代碼 –

相關問題