为了清楚地说明使用AJAX从数据库访问信息的难易程度,我们将动态构建MySQL查询并将结果显示在“ ajax.html”上。但是在继续之前,让我们做基础工作。使用以下命令创建表。
注 –我们假设您具有足够的特权来执行以下MySQL操作。
CREATE TABLE 'ajax_example' ( 'name' varchar(50) NOT NULL, 'age' int(11) NOT NULL, 'sex' varchar(1) NOT NULL, 'wpm' int(11) NOT NULL, PRIMARY KEY ('name'))
现在,使用以下SQL语句将以下数据转储到该表中:
INSERT INTO 'ajax_example' VALUES ('Jerry', 120, 'm', 20);INSERT INTO 'ajax_example' VALUES ('Regis', 75, 'm', 44);INSERT INTO 'ajax_example' VALUES ('Frank', 45, 'm', 87);INSERT INTO 'ajax_example' VALUES ('Jill', 22, 'f', 72);INSERT INTO 'ajax_example' VALUES ('Tracy', 27, 'f', 0);INSERT INTO 'ajax_example' VALUES ('Julie', 35, 'f', 90);
客户端HTML文件
现在让我们拥有客户端HTML文件ajax.html,它将具有以下代码-
Max Age:
Max WPM:
Sex: mf
Your result will display here
注 –在查询中传递变量的方式符合HTTP标准,并具有formA。
URL?variable1 = value1;&variable2 = value2;
上面的代码将为您提供如下屏幕-
最高年龄:
最高WPM:
性别: 米 F
输入后,结果将显示在此部分中。
注意 -这是一个虚拟屏幕。
服务器端PHP文件
您的客户端脚本已准备就绪。现在,我们必须编写服务器端脚本,该脚本将从数据库中获取年龄,wpm和性别,并将其发送回客户端。将以下代码放入文件“ ajax-example.php”中。
<?php $dbhost = "localhost";$dbuser = "dbusername";$dbpass = "dbpassword";$dbname = "dbname";//Connect to MySQL Servermysql_connect($dbhost, $dbuser, $dbpass);//Select Databasemysql_select_db($dbname) or die(mysql_error());// Retrieve data from Query String$age = $_GET['age'];$sex = $_GET['sex'];$wpm = $_GET['wpm'];// Escape User Input to help prevent SQL Injection$age = mysql_real_escape_string($age);$sex = mysql_real_escape_string($sex);$wpm = mysql_real_escape_string($wpm);//build query$query = "SELECT * FROM ajax_example WHERE sex = '$sex'";if(is_numeric($age)) $query .= " AND age <= $age";if(is_numeric($wpm)) $query .= " AND wpm <= $wpm";//Execute query$qry_result = mysql_query($query) or die(mysql_error());//Build Result String$display_string = "
";$display_string .= "";$display_string .= "Name";$display_string .= "Age";$display_string .= "Sex";$display_string .= "WPM";$display_string .= "";// Insert a new row in the table for each person returnedwhile($row = mysql_fetch_array($qry_result)) { $display_string .= ""; $display_string .= "$row[name]"; $display_string .= "$row[age]"; $display_string .= "$row[sex]"; $display_string .= "$row[wpm]"; $display_string .= "";}echo "Query: " . $query . "
";$display_string .= "";echo $display_string;?>
现在尝试在“ 最大年龄”或任何其他框中输入有效值(例如120),然后单击“查询MySQL”按钮。
最高年龄:
最高WPM:
性别: 米 F
输入后,结果将显示在此部分中。
如果您已成功完成本课程,那么您将知道如何结合使用MySQL,PHP,HTML和Javascript编写AJAX应用程序。