я хочу хранить клики пользователей в базе данных с использованием php и jquery

#php #jquery

#php #jquery

Вопрос:

Поле таблицы моих пользователей — id, name, twitter и clicks (клики скрыты)

Логика такова: всякий раз, когда пользователь нажимает на другой идентификатор пользователя Twitter, он должен быть подсчитан, а затем новый обновленный клик должен быть сохранен в базе данных. я могу сделать выше логики.

Но я не знаю, как обнаружить клики, сделанные мышью по любой ссылке. Я имею в виду, если ссылка 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, пожалуйста, предоставьте правильный код, который наилучшим образом соответствует моему приведенному выше коду.

Комментарии:

1. Пожалуйста, ОТРЕДАКТИРУЙТЕ свой вопрос, а не добавляйте код в качестве комментария. У меня болит голова.

Ответ №1:

Вам нужно будет прикрепить обработчик события щелчка к ссылкам. Для этого им понадобится какой-то общий идентификатор (в этом случае, вероятно, будет лучше присвоить всем ссылкам Twitter общее имя класса. Я буду использовать twitter в качестве примера). Затем вы можете использовать click метод jQuery для привязки обработчика событий и запуска 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!
    }
});
  

Комментарии:

1. я не понимаю вашего ответа: ( script.php это для чего ?

2. script.php это PHP-файл, который содержит код для фактического обновления базы данных.

Ответ №2:

вам нужно создать страницу перенаправления для хранения кликов … измените ссылку на это… (проверьте echo или copy paste, я надеюсь, что это работает безупречно)

 <?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.