Я в основном работаю над сайтом, на котором пользователь несколько раз нажимает кнопку, увеличивая свой счет каждый раз, когда нажимает.Я не хочу, чтобы страница обновлялась между каждым кликом, поэтому я использую AJAX.
Проблемы, с которыми я сталкиваюсь в настоящее время:
Когда я пытаюсь установить мой javascript var
на =
<? echo $result['count']; ?>
, это не такЭто, кажется, не работает.
Я не понимаю, как правильно использовать PDO для UPDATE
таблицы MySQL с вычислением в запросе, например $update = $dbh->execute("UPDATE count SET count='$count'+1 WHERE username='$username'");
.Это правильный синтаксис для расчета, и это правильный способ сделать это в PDO?
Вот код для моей тестовой страницы, которую я использую для системы кликов:
<html>
<?php
$hostname = 'localhost';
$username2 = 'refrigerator';
$password = 'xxx';
$dbh = new PDO("mysql:host=$hostname;dbname=refrigerator", $username2, $password);
$username = $_COOKIE["user"];
$rows = $dbh->prepare("SELECT count FROM count WHERE username = '$username'");
$rows->execute();
$result = $rows->fetchALL();
$result['count'] = $count;
if(isset($_POST['action'])){
if ($_POST['action'] == 'increase'){
$update = $dbh->execute("UPDATE count SET count='$count'+1 WHERE username='$username'");
}
}
?>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var count = <? echo $result['count']; ?>;
$("#update").click(function() {
$.ajax({
type: "POST",
url: "button.php",
data: {"action":"increase"},
success: function(update) {
count++;
$("#counter").html(+count);
}
});
});
});
</script>
<button id="update" type="button">Button</button>
<div id="counter"><? echo $result['count']; ?></div>
</body>
</html>
Большое спасибо, любая помощь будет принята с благодарностью.Даже если вы можете указать мне правильное направление, которое поможет мне ответить на мои вопросы, это было бы здорово.
Спасибо