我想使用php和jquery在数据库中存储用户点击

时间:2011-10-06 08:59:47

标签: php jquery

我的用户表字段是id,name,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);


?>

任何人都告诉我如何在$ row ['clicks']的变量中存储点击次数 如果需要jquery,那么请提供最符合我上述代码的正确代码。

2 个答案:

答案 0 :(得分:2)

您需要将单击事件处理程序附加到链接。要做到这一点,他们将需要一些通用标识符(在这种情况下,最好给所有Twitter链接一个公共类名。我将使用twitter作为示例)。然后你可以使用jQuery的click方法来绑定事件处理程序,并向实际更新数据库的PHP脚本发出一个AJAX请求:

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

答案 1 :(得分:-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']);
?>