var xmlHttp function showUser(str) //這就是上面調用的函數體
{
xmlHttp=GetXmlHttpObject() //首先判斷瀏覽器是否支援HTTP Request
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getuser.php" //這裡是你的PHP函數名,就是這個函數裡寫的SQL語句拉.
url=url+"?q="+str //這是後面跟的參數
url=url+"&sid="+Math.random() //他在在這裡建立了一個隨機數
xmlHttp.onreadystatechange=stateChanged //調用stateChanged判斷狀態(這裡的有些東西大家要查一下)
xmlHttp.open("GET",url,true) //OPEN傳遞進來的URL TRUE就是表示非同步傳輸,就是頁面不重新整理
xmlHttp.send(null) //發送
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") //判斷readyState的狀態
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
//紅色部分感覺熟悉嗎?就是上面HTML頁面裡的ID號.這裡將返回的結果innerHTML的方法寫進txtHint
}
} //下面這個函數是針對不用瀏覽器對XMLHttpRequest的不同支援而寫的不同建立方法
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;
}
$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語句就是要返回給前台頁面的HTML代碼.最後就是下面這些HTML代碼顯示在ID為
txtHint的DIV裡面
echo "";
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][tr][td]Firstname[/td][td]Lastname[/td][td]Age[/td][td]Hometown[/td][td]Job[/td][/tr][/table]";
mysql_close($con);
?>