一个ajax实现根据积分查询mysql获取用户等级的小demo

前端之家收集整理的这篇文章主要介绍了一个ajax实现根据积分查询mysql获取用户等级的小demo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一个小功能,临时用的时候写起来麻烦,所以整理一下,就是普通的ajax请求获取反馈,只是框架用久了,有点生疏.

查看手册地址:

http://www.w3school.com.cn/jquery/ajax_ajax.asp


数据库 acorse.sql

PRIMARY KEY (`id`)CREATE TABLE `acorse` (
  `id` int UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT 'ID',`rank` char(4) NOT NULL COMMENT '等级',`min_score` int NOT NULL COMMENT '最小积分',`max_score` int NOT NULL COMMENT '最大积分',) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `acorse` (`id`,`rank`,`min_score`,`max_score`) VALUES
(1,'L1',1,50),(2,'L2',51,100),(3,'L3',101,150);

前端页面(需要引入jquery-3.2.1.min.js自行下载)score.html

<!DOCTYPE html>
<html>
<head>
	<Meta charset="utf-8">
	<title>等级查询</title>
	<script type="text/javascript" src='jquery-3.2.1.min.js'></script>
</head>
<body>
<form method="get">
  <p>输入成绩: <input type="text" name="score" /> 等级: <span id='result'></span></p>
</form>
 <button id="send">提交</button>
</body>
  <script type="text/javascript">
		 $(function(){
		  $("#send").click(function(){
		   var cont = $("input").serialize();
		   $.ajax({
		    url:'ajax.PHP',type:'get',dataType:'json',data:cont,success:function(data){
		    	//console.log(data)
		     var str = data;
		     $("#result").html(str);
		    }
		   });
		  });  
		 });
    </script>
</html>


后台PHP接收,查询数据库(由于没有框架,所以使用MysqLi类,如果有框架则可以简化) ajax.PHP

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

$MysqLi = new MysqLi('localhost','用户名','密码','数据库名');

/*
 * This is the "official" OO way to do it,* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0.
 */
if ($MysqLi->connect_error) {
    die('Connect Error (' . $MysqLi->connect_errno . ') '
            . $MysqLi->connect_error);
}
$MysqLi->set_charset('utf8');
$sql = 'select * from acorse';
$res = getAll($sql,$MysqLi);
$MysqLi->close();
// var_dump($res);
$lv = '';
$score = isset($_GET['score'])?$_GET['score']:'';
$min = $max = 0;
$min = reset($res)['min_score'];
$max = end($res)['max_score'];
if ($score>=$min && $score<=$max) {
	foreach ($res as $k => $v) {	
		if ($score>$v['min_score'] && $score<$v['max_score']) {
			$lv = $res[$k]['rank'];
			break;
		}
	}
}
echo json_encode($lv);

function getAll($sql,$MysqLi){
	if($res = $MysqLi->query($sql)){
		//定义一空数组,用来装我们的记录
		$arr = array();
		while($row = $res->fetch_assoc()){
			$arr[] = $row;
		}
	}else{
		echo '<br> sql执行失败,原因是';
		die('info:' . $MysqLi->error);
	}
	
	//可以马上是否结果集
	$res->free();
	return $arr;
}
?>

最终效果:

猜你在找的Ajax相关文章