gpt4 book ai didi

php - 通过 onClick javascript 函数使用 PHP 更新 MySql 数据库

转载 作者:可可西里 更新时间:2023-11-01 06:35:18 26 4
gpt4 key购买 nike

我正在创建一个网络游戏来学习针对 child 的新单词。

我有一组四个链接,每个链接都显示从我的数据库中检索到的特定单词和一条线索,我需要检查选择的单词是否与该线索的正确单词匹配。

我知道我需要使用 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>

//我在 score.js 文件中尝试使用 ajax

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);
?>

最佳答案

我强烈建议您正确学习 AJAX - 它不会花费您很长时间,但会帮助您了解您可以使用它做什么和不能做什么。

通过 AJAX 从网页更新数据库是很常见的。我建议使用 jQuery 简化您的 JavaScript 开发(一个 JavaScript 库)。对 jQuery 和 AJAX 有很好的介绍 here .

jQuery 基本上会为您编写大量样板代码。你最终会写的是这样的:

function updateScore(answer, correct) {
if (answer == correct) {
$.post('updatescore.php');
}
}

...

<a onclick="updateScore(this, correct)" ...> </a>

您在这里所做的是在答案正确时向 updatescore.php 发送 POST 请求。

然后,在您的 updatescore.php 中,您只需要像您已经做的那样使用 PHP 代码来更新数据库中的分数。

您显然可以做比这更复杂的事情,但希望这足以让您入门。

关于php - 通过 onClick javascript 函数使用 PHP 更新 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/638147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com