PHP和AJAX的MySQL資料庫

來源:互聯網
上載者:User

PHP和AJAX的MySQL資料庫的例子

例如AJAX的資料庫
在AJAX以下例子,我們將示範如何網頁上可以賣到資訊從一個MySQL資料庫中使用AJAX技術。

例如AJAX的資料庫
在HTML表單
上面的例子中包含一個簡單的HTML表格,並連結到一個JavaScript :

<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>
    

例如解釋-的H TML表單
正如你所看到的,這隻是一個簡單的HTML格式的下拉框中所謂的“使用者”的名字和“身份證”從資料庫,作為選擇的價值。

該段以下的形式包含一個專區所謂的“ txtHint ” 。該專區是用作預留位置資訊檢索的網路伺服器。

當使用者選擇的資料,一個函數稱為“ showUser ( ) ”執行。執行的職能是引發的“ onchange ”事件。

換句話說:每一次變化的使用者的價值在下拉框中,功能showUser ( )被調用。

的JavaScript
這是JavaScript代碼儲存在檔案中“ selectuser.js ” :

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="+strurl=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;}
 
       

例如解釋
該stateChanged ( )和GetXmlHttpObject職能是一樣的PHP的AJAX章建議,您可以去那裡解釋這些。

該showUser ( )函數

如果一個項目在下拉框中選擇執行的功能如下:

籲請GetXmlHttpObject函數建立一個XMLHTTP物件
界定了網址(檔)傳送給伺服器
添加一個參數( Q )的網址與內容的下拉框
添加一個隨機數字,以防止伺服器使用快取檔案
呼叫stateChanged改變時,就會觸發
開幕XMLHTTP物件與特定網址。
發送一個HTTP請求到伺服器

 

PHP頁面
該伺服器的頁面要求的JavaScript ,是一個簡單的PHP檔案名稱為“ getuser.php ” 。

該網頁是PHP寫成的,並使用一個MySQL資料庫。

該代碼運行一個SQL查詢的資料庫,並返回結果作為HTML表:

<?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);?>
好了我們的php+ajax就完成了.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.