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