JQuery / AJAX post () - несколько проблем - PullRequest
1 голос
/ 08 февраля 2011

Я в основном работаю над сайтом, на котором пользователь несколько раз нажимает кнопку, увеличивая свой счет каждый раз, когда нажимает.Я не хочу, чтобы страница обновлялась между каждым кликом, поэтому я использую AJAX.

Проблемы, с которыми я сталкиваюсь в настоящее время:

  1. Когда я пытаюсь установить мой javascript var на = <? echo $result['count']; ?>, это не такЭто, кажется, не работает.

  2. Я не понимаю, как правильно использовать 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>

Большое спасибо, любая помощь будет принята с благодарностью.Даже если вы можете указать мне правильное направление, которое поможет мне ответить на мои вопросы, это было бы здорово.

Спасибо

1 Ответ

0 голосов
/ 08 февраля 2011

Вы должны иметь:

$count = $result['count'];

Вместо:

$result['count'] = $count;

Переменная слева от знака = - это то, что получает присвоение от любого значения справазнака =.

В своем операторе обновления вы могли бы вместо использования переменной count:

 $update = $dbh->execute("UPDATE count SET count=count+1 WHERE username='$username'"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...