Променлива без рефреш

bganonymous

Registered
Променливата $my_points показва точките на потребителя в сайта. Ако потребителя получи например 10 точки, променливата $my_points ще покаже новите му точки след рефреш на страницата. Искам тази променлива да показва точките на потребителя и да ги актуализира без рефреш. Например: Показва 200 точки, потребителя получава 10 точки и $my_points се променя на 210, без да е нужен рефреш на страницата.
 
това се прави с $.ajax()

Код:
$.ajax({
url: 'пътят-до-php-файла',
method: "POST",
success:function(response){
$('ид/клас-на-точките').text(response);
},
error: function(response){

}
},'json');


a в php файла ще трябва да ги изкарваш посредством json_encode();
 
index.html
HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <script src='https://code.jquery.com/jquery-2.1.4.min.js'></script>
</head>
<body>
    You have <div id='points'>0</div> points.

    <script src='js.js'></script>
</body>
</html>

js.js
[js](function ($, undefined) {
function update() {
/*Пускаме POST заявка към файла 'data.php' и създаваме функция,
която връща резултата като го присвоява на променливата 'data'
*/
$.post('data.php', function (data) {
//Обновяваме съдържанието на div с id = 'points'
$('#points').text(data);
});
}

//Стартираме функцията, за да имаме информацията при зареждането на скрипта
update();
//Обновяваме информацията на всеки 1000 милисекунди (1 с.). Промени го според нуждите си
setInterval(update, 1000);
})(jQuery);
[/js]

data.php
PHP:
<?php
//Връзка с базата данни
$db = new PDO('mysql:host=localhost;dbname=test', 'root', '1234');

//Вземаме потребителското име или някакъв друг критерий, по който ще различаваме потребителите
$username = $_SESSION['username'];

//Заявката
$query = $db->query('SELECT points FROM `users` WHERE `username` = '. $username .'');
$user = $query->fetch(PDO::FETCH_OBJ);

//В случая показваме съдържанието на полето 'points' в таблицата 'users'
echo $user->points;
?>
 

Back
Горе