php 我如何在innerhtml中使用ajax和php更新mysql数据库
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/853185/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How do i update mysql database with ajax and php in innerhtml
提问by djairo
How do i update mysql database with ajax and php with no page refresh
我如何在没有页面刷新的情况下使用 ajax 和 php 更新 mysql 数据库
回答by Phill Pafford
Here is a good example, it shows a SELECTstatement but it should be straight forward and easy to update the script to what you need.
这是一个很好的示例,它显示了一个SELECT语句,但它应该很简单,并且很容易将脚本更新为您需要的内容。
HTML from the example page:
示例页面中的 HTML:
<html>
<head>
<script src="selectuser.js"></script>
</head>
<body>
<form>
Select a User:
<select name="users" onchange="showUser(this.value)">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<p>
<div id="txtHint"><b>User info will be listed here.</b></div>
</p>
</body>
</html>
javaScript:
脚本:
var xmlHttp;
function showUser(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="getuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
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;
}
PHP called by Ajax:
Ajax 调用的 PHP:
<?php
$q = $_GET["q"];
$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("ajax_demo", $con);
$sql = "SELECT * FROM user WHERE id = '" . $q . "'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['Hometown'] . "</td>";
echo "<td>" . $row['Job'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
回答by Rigobert Song
You can use the JQuerylibrary and do something like
您可以使用JQuery库并执行类似的操作
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
In your some.php file have something like this:
在你的 some.php 文件中有这样的东西:
<?php
$name = $_POST['name'];
$location = $_POST['location'];
$query("your insert query");
$result = mysql_query($query);
?>
?>
?>
回答by Jez
http://www.w3schools.com/PHP/php_ajax_database.aspexplains it quite nicely.

