How do i update mysql database with ajax and php with no page refresh
如何在InnerHTML中使用Ajax和PHP更新MySQL数据库
原标题:
最佳回答
这里有一个好的例子,它展示了一个SELECT
语句,但很容易更新脚本来符合你的需求。
HTML from the example page:
<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通过Ajax调用:
<?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);
?>
问题回答
您可以使用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:
<?php
$name = $_POST[ name ];
$location = $_POST[ location ];
$query("your insert query");
$result = mysql_query($query);
?>
?>
相关问题
热门标签
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding