2016-05-04 2 views
0

Итак, я работаю над сайтом, который включает в себя кредиты. Я изучаю Интернет уже около 30 минут, пытаясь найти решение для обновления кредитов. Под обновлением кредитов я подразумеваю это.Обновление «кредитов» с использованием PHP и JavaScript

Веб-страница загружает кредиты из базы данных MySQL, тогда игрок использует часть некоторых кредитов (помните, что я их вычитал после использования), но они не обновляются при вычитании.

Итак, я использовал метод JavaScript, который устанавливает кредиты для LI в HTML. Я использую PHP внутри кода JavaScript. ОДНАКО, он извлекает количество кредитов, но это не количество обновлений кредитов. Это предыдущий или он остается замороженным на предыдущей сумме кредитов.

Так вот код, который вы должны будете знать больше всего:

Это якобы «обновления» литиево с помощью JavaScript и PHP:

function finalL(){ 
document.getElementById("updatecredits").innerHTML = "credits: " + 
<?php 

$db = mysqli_connect('localhost', 'root', 'iGenX772', 'userdata'); 

$query = mysqli_fetch_array(mysqli_query($db, "SELECT credits FROM users   WHERE username='" . mysqli_real_escape_string($db, $_SESSION['user'] ['username']) . "'")); 
echo $query['credits']; 

mysqli_close($db); 
?>; 
} 

Первозванного при загрузке PHP страницы:

<li><a id="updatecredits">Credits: 
<?php 

$db = mysqli_connect('localhost', 'root', 'iGenX772', 'userdata'); 

$query = mysqli_fetch_array(mysqli_query($db, "SELECT credits FROM users WHERE username='" . mysqli_real_escape_string($db, $_SESSION['user']['username']) . "'")); 
echo $query['credits']; 

mysqli_close($db); 

?></a></li> 

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

Я использую тот же метод в функции, что и в списке. Если у кого-то есть решение этой проблемы, мне бы это понравилось!

~ mrgreen33gamer | Джошуа

EXTRA:

<div id="logreg"> 
<ul> 
<li><a>Welcome, <?php echo htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?></a></li> 
<li><a><span id="updatecredits">Credits: 
<?php 

$db = mysqli_connect('localhost', 'root', 'iGenX772', 'userdata'); 

$query = mysqli_fetch_array(mysqli_query($db, "SELECT credits FROM users WHERE username='" . mysqli_real_escape_string($db, $_SESSION['user']['username']) . "'")); 
echo $query['credits']; 

mysqli_close($db); 

?></span></a></li> 
<li><a href="logout.php">Logout</a></li> 
</ul> 
</div> 

ответ

0

Вы должны вызвать PHP с использованием Ajax и поместить PHP код в отдельный файл. В этом случае я предполагаю, что код PHP в loadCredits.php

Javascript

<script type="text/javascript"> 
function finalL(){   
    xhttp= new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     document.getElementById("updatecredits").innerHTML = "Credits: " + xhttp.responseText; 
    } 
    }; 
    xhttp.open("GET", "loadCredits.php?t=" + Math.random(), true); 
    xhttp.send(); 
} 
</script> 

PHP

<?php 
echo (5); 
?> 

HTML

<ul> 
<li><a>Welcome, </a></li> 
<li><a><span id="updatecredits" onClick="finalL()">Credits: 
</span></a></li> 
<li><a href="logout.php">Logout</a></li> 
</ul> 
+0

Хорошо, так я сразу заменил функцию с текущим , Я получаю гигантскую ошибку в консоли, говоря, что «$» до «.ajar» ({'не определен .... –

+0

Итак, вы не используете jQuery. Я обновил код. – Gerard

+0

На самом деле, он не показывает кредиты на всех .... –

Смежные вопросы