欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ajax+php+mysql 读取数据库的简单示例

程序员文章站 2022-03-29 16:26:13
...
这篇文章介绍的内容是关于ajax+php+mysql 读取数据库的简单示例 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下


1.创建数据库

create database ajaxdemo default charset utf8;



切换到当前数据库

use ajaxdemo;



创建表并插入数据

CREATE TABLE `ajaxtest` (
  `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `userpass` varchar(50) NOT NULL COMMENT '密码',
  `userage` int(11) NOT NULL COMMENT '年龄',
  `usersex` varchar(1) NOT NULL COMMENT '性别',
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


INSERT INTO `ajaxtest` VALUES ('1', '李四', 'lisi', '15', '男');
INSERT INTO `ajaxtest` VALUES ('2', '张三', 'lisi', '20', '女');
INSERT INTO `ajaxtest` VALUES ('3', '王五', 'lisi', '25', '男');
INSERT INTO `ajaxtest` VALUES ('4', '韩梅梅', 'lisi', '25', '男');
INSERT INTO `ajaxtest` VALUES ('5', '张莉', 'lisi', '25', '女');


2.创建index.php,查询数据库中的信息并展示给用户

<html>
	<head>
		<meta charset="utf-8"/>
		<title>ajax实例</title>
		<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
	</head>
	<body style="height: 800px;">
		<p class="container">
			<p class="panel panel-default" style="margin-top: 100px;text-align: center;">
				<p class="panel-heading">
					Ajax实例
				</p>
				<p class="panel-body">
					<form class="navbar-form navbar-center" role="search" name="myform">
						<p class="form-group">
							<label>
								年龄:<input type="number" class="form-control" placeholder="Age" name="userage" id='userage'/>
							</label>
						</p>
						<select class="form-control" id="usersex" name="usersex">
							<option value="男">男</option>
							<option value="女">女</option>
						</select>
						<button type="button" class="btn btn-default" onclick='ajaxFunction()'>提交</button>
					</form>
					
					<table class="table table-condensed table-bordered" id="ajaxp"></table>
					<p>SQL语句:<pre id="sql"></pre></p>
				</p>
			</p>
		</p>
		
		
		<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
		<script src="https://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
		<script type="text/javascript">
			function ajaxFunction()
			{
				var xmlHttp;
				try{
					xmlHttp = new XMLHttpRequest();
				}catch(e){
					//IE浏览器需要用ActiveXObject来创建 XMLHttpRequest对象
					try{
						 //如果Javascript的版本大于5
						xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
					}catch(e){
						try{
							 //如果不是 则使用老版本的ActiveX对象
							xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
						}catch(e){
							alert("您的浏览器不支持");
							return false;
						}
					}
				}
				xmlHttp.onreadystatechange=function(){
					if(xmlHttp.readyState==4){
						var ajaxData=document.getElementById("ajaxp");
						var sqlData=document.getElementById('sql');
						var jsonData=JSON.parse(xmlHttp.responseText);//解析json数据
						ajaxData.innerHTML=jsonData.data;
						sqlData.innerHTML=jsonData.sql;
					}
				}
				var userage=document.getElementById('userage').value;
				var usersex=document.getElementById('usersex').value;
				var url='?userage='+userage;
				url += '&usersex='+usersex;
				xmlHttp.open("GET","ajaxTest.php"+url,true);
				xmlHttp.send(); 
			}
		</script>
	</body>
</html>>

3.创建ajaxtest.php来响应index.php的请求

<?php
    error_reporting(0);//不显示警告信息
    $dbhost="localhost";
    $dbuser="root";
    $dbpass="root";
    $dbname="ajaxdemo";

$mysqli=new mysqli($dbhost,$dbuser,$dbpass,$dbname);
$mysqli->query("SET NAMES 'UTF8' ");

$userage=$_GET['userage'];
$usersex=$_GET['usersex'];

$userage=$mysqli->real_escape_string($userage);
$usersex=$mysqli->real_escape_string($usersex);

$query="select * from ajaxtest where usersex='$usersex'";

if(is_numeric($userage))
{
    $query .="AND userage <= $userage;";
}
$qry_result=$mysqli->query($query);

if($qry_result->num_rows==0)
{
    echo json_encode(['data'=>'<h2>未找到符合条件的记录</h2>','sql'=>$query]);
    return ;
}

$display_string ="<tr>";
$display_string .="<td>用户名</td>";
$display_string .="<td>年龄</td>";
$display_string .="<td>性别</td>";
$display_string .="</tr>";

//insert a new row in the table for each person returned
while($row=mysqli_fetch_object($qry_result)){
    $display_string.="<tr>";
    $display_string.="<td>$row->username</td>";
    $display_string.="<td>$row->userage</td>";
    $display_string.="<td>$row->usersex</td>";
    $display_string.="</tr>";
}

echo json_encode(['data'=>$display_string,'sql'=>$query]);//返回json数据格式
?>



结果:

ajax+php+mysql 读取数据库的简单示例

相关推荐:

PHP读取数据库并按照中文名称进行排序实现代码_PHP教程

以上就是ajax+php+mysql 读取数据库的简单示例 的详细内容,更多请关注其它相关文章!