Я создаю веб-игру для изучения новых слов, направленных на детей.Обновление базы данных MySql с помощью PHP с помощью функции javascript onClick
У меня есть набор из четырех ссылок, каждый из которых отображает определенное слово, извлеченное из моей базы данных, и подсказку. Мне нужно проверить, что выбранное слово соответствует правильному слову для этой подсказки.
Я знаю, что мне нужно использовать javascript из-за функции onClick, и я могу успешно проверить, соответствует ли выбранное слово правильному слову. Тем не менее, мне нужно обновить оценку, содержащуюся в базе данных, если слово правильно сопоставлено, поэтому мне нужно будет использовать php.
Из того, что я могу собрать, это означает, что я должен использовать AJAX, но я не могу найти хороший пример того, кто использует AJAX onClick ссылки для обновления базы данных.
Я попытался сделать это ... но, вероятно, совершенно неправильно, поскольку я не мог заставить его работать правильно:
//This is my link that I need to use in my game.php file where $newarray[0] is that answer I want to check against $newarray[$rand_keys]
<a onClick=originalUpdateScore('$newarray[0]','$newarray[$rand_keys]')>$newarray[0]</a>
// моя попытка AJAX в score.js файле
var xmlHttp;
function originalUpdateScore(obj,corr){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
if(corr == obj){
var url="getscore.php";
//url=url+"?q="+str;
//url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
//xmlHttp.open("GET",url,true);
xmlHttp.open(url,true);
xmlHttp.send(null);
alert('Correct');
}
else
{
alert('AHHHHH!!!');
}
window.location.reload(true);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//attempting to update the database in a getscore.php file
<?php
//$q=$_GET["q"];
include("dbstuff.inc");
$con = mysqli_connect($host, $user, $passwd, $dbname)
or die ("Query died: connection");
$sql= "UPDATE `temp` SET `tempScore`= `tempScore`+1 WHERE (temp.Username='$_SESSION[logname]')";
$showsql = "SELECT `tempScore` FROM `temp` WHERE (temp.Username='$_SESSION[logname]')";
$result = mysqli_query($con, $showsql);
echo "$result";
mysqli_close($con);
?>
Большое спасибо за помощь! Эта ссылка, которую вы мне дали, тоже была очень полезной. – 2009-03-13 00:16:28