Php mysql ajax 教学_PHP开发基础教程之AJAX与MySQL

AJAX 数据库实例

AJAX可以用来和数据库进行交互式通信

下面的例子将演示网页如何通过 AJAX 从数据库读取信息

请在左边的下拉列表中选择一个客户:

本例由四个元素组成:

MySQL 数据库

简单的 HTML 表单

JavaScript

PHP 页面

数据库

本例需要在数据库中建立如下数据表:

HTML 表单与JavaScript

源码见1.php

html>

function showUser(str){

var xmlhttp;

//检查是否有用户被选择

if(str==""){

document.getElementById("txt").innerHTML="";

return;

}

//创建 XMLHttpRequest 对象

if(window.XMLHttpRequest){

// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码

xmlhttp=new XMLHttpRequest();

}

else{

//IE6,IE5浏览器执行代码

xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");

}

//创建在服务器响应就绪时执行的函数

xmlhttp.onreadystatechange=function(){

if(xmlhttp.readyState==4 && xmlhttp.status==200){

document.getElementById("txt").innerHTML=xmlhttp.responseText;

}

}

//向服务器上的文件发送请求

xmlhttp.open("GET","2.php?q="+str,true);

xmlhttp.send();

}

选择一个人:

Peter Griffin

小 明

小 白

选择相应用户,用户信息将在这里展示出来

源码解释

用户通过下拉列表选择后,通过onchange事件执行showUser()函数

showUser() 函数会执行以下步骤:

检查是否有用户被选择

创建 XMLHttpRequest 对象

创建在服务器响应就绪时执行的函数

向服务器上的文件发送请求

请注意添加到 URL 末端的参数(q)(包含下拉列表的内容)

PHP 页面

上面这段通过 JavaScript 调用的服务器页面是名为 "2.php" 的 PHP 文件。

"2.php" 中的源代码会运行一次针对 MySQL 数据库的查询,然后在 HTML 表格中返回结果:

header("Content-type: text/html; charset=utf-8");

$q=$_GET["q"];

//连接数据库

$con = mysqli_connect('localhost','root','root','test');

//判断是否连接成功

if(!$con){

die('连接数据库失败:'.mysqli_error($con));

}

//选择数据库

mysqli_select_db($con,"test");

//设定字符集

mysqli_query($con,'set names utf8');

//从数据库中查出id对应的相应用户信息

$sql="SELECT * FROM customer WHERE id='".$q."'";

$result=mysqli_query($con,$sql);

echo "

年龄家乡工作

";

//循环显示出用信息

while($row = mysqli_fetch_array($result)){

echo "

";

echo "

".$row['FirstName']."";

echo "

".$row['LastName']."";

echo "

".$row['Age']."";

echo "

".$row['Hometown']."";

echo "

".$row['Job']."";

echo "

";

}

echo "

";

?>

学习心得

本例子主要包括如下知识点:

表单基础:下拉选项

onchange事件:在域的内容改变时发生

函数调用、函数传值

AJAX XMLHttpRequest对象的创建、在服务器响应的时候执行的函数、向服务器上的文件发送请求:见1-5讲学习心得

HTML DOM getElementById()方法:返回对拥有指定 ID 的第一个对象的引用

数据库的创建、连接数据库、选择数据库、设定字符集、根据id从数据库中查询、循环取出数据库中的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值