程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> AJAX MySQL 數據庫與PHP的實例演示

AJAX MySQL 數據庫與PHP的實例演示

編輯:MySQL綜合教程

此文章主要向大家介紹的是PHP 與 AJAX MySQL 數據庫實例演示,我們大家都知道 AJAX 的主要功能可用來和數據庫進行交互式通信。那麼PHP的相關功能又是如何呢?以下的文章就有對其的詳細介紹。

AJAX 數據庫實例

在下面的 AJAX MySQL 數據庫實例中,我們將演示網頁如何使用 AJAX 技術從 MySQL 數據庫中讀取信息。

在下拉列表中選擇一個名字 測試說明:該實例功能未實現)

Select a User: Peter Griffin Lois Griffin Joseph Swanson Glenn Quagmire

在此列出用戶信息。

此列由四個元素組成:

MySQL 數據庫

簡單的 HTML 表單

JavaScript

PHP 頁面

數據庫

將在本例中使用的數據庫看起來類似這樣:

id FirstName LastName Age Hometown Job

1 Peter Griffin 41 Quahog Brewery

2 Lois Griffin 40 Newport Piano Teacher

3 Joseph Swanson 39 Quahog Police Officer

4 Glenn Quagmire 41 Quahog Pilot

HTML 表單

上面的例子包含了一個簡單的 HTML 表單,以及指向 JavaScript 的鏈接:

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

例子解釋 - HTML 表單

正如您看到的,它僅僅是一個簡單的 HTML 表單,其中帶有名為 "users" 的下拉列表,這個列表包含了姓名,以及與數據庫的 "id" 對應的選項值。

表單下面的段落包含了名為 "txtHint" 的 div。這個 div 用作從 web 服務器檢索到的信息的占位符。

當用戶選擇數據時,執行名為 "showUser()" 的函數。該函數的執行由 "onchange" 事件觸發。

換句話說:每當用戶改變下拉列表中的值,就會調用 showUser() 函數。

JavaScript

這是存儲在 "selectuser.js" 文件中的 JavaScript 代碼:

  1. var xmlHttpfunction showUser(str){ xmlHttp=GetXmlHttpObject()if (xmlHttp==null) 

    { alert ("Browser does not support HTTP Request") return }var urlurl="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 MySQL 數據庫請求 那一節中的相同,您可以參閱其中的相關解釋。

showUser() 函數

假如下拉列表中的項目被選擇,函數執行:

調用 GetXmlHttpObject 函數來創建 XMLHTTP 對象

定義發送到服務器的 URL文件名)

向 URL 添加帶有下拉列表內容的參數 (q)

添加一個隨機數,以防服務器使用緩存的文件

當觸發事件時調用 stateChanged

通過給定的 URL 打開 XMLHTTP 對象

向服務器發送 HTTP 請求

PHP 頁面

由 JavaScript 調用的服務器頁面,是名為 "getuser.php" 的簡單 PHP 文件。

該頁面用 PHP 編寫,並使用 MySQL 數據庫。

其中的代碼執行針對數據庫的 SQL 查詢,並以 HTML 表格返回結果:

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

?>例子解釋:

當查詢從 JavaScript 被發送到這個 PHP 頁面,會發生:

PHP 打開到達 MySQL 服務器的連接

找到擁有指定姓名的 "user"

創建表格,插入數據,然後將其發送到 "txtHint" 占位符

上述的相關內容就是對PHP 和 AJAX MySQL 數據庫實例 AJAX 可用來與數據庫進行交互式通信的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved