Ajax实现不刷新取最新商品


Posted in Javascript onMarch 01, 2017

话不多说,请看代码:

<?php 
 $conn = mysql_connect('localhost','root','123456') or die('连接失败'); 
 mysql_select_db('ecshop'); 
 mysql_query('set names utf8'); 
 $attr = isset($_GET['attr'])?$_GET['attr']:'is_hot';  //由html 的ajax提交过来 然后根据它来取数据~ 
 $sql = 'select goods_name,goods_id,shop_price from goods where '.$attr.' = 1 limit 0,3'; 
 $rs = mysql_query($sql,$conn); 
 //var_dump($rs); 
 $goods = array(); 
 while($row = mysql_fetch_assoc($rs)){ 
  $goods[] = $row; 
 } 
 //print_r($goods); 
?>
<table border='1'> //ajax 接收的就是 php输出内容 虽然它没echo 但也是输出在网页的内容 所以ajax 能接收~~!!! 
<tr><td>商品ID</td><td>商品名称</td><td>商品价格</td></tr> 
<?php foreach($goods as $v){ ?> 
 <tr> 
  <td><?php echo $v['goods_id'];?></td> 
  <td><?php echo $v['goods_name'];?></td> 
  <td><?php echo $v['shop_price'];?></td> 
 </tr> 
<?php }?> 
</table>

HTML 的内容

<script> 
 var xhr = new XMLHttpRequest(); 
 function top3(attr){ 
  var url = 'goods.php?attr=' + attr; 
  xhr.open('get',url); 
  xhr.onreadystatechange = function (){ 
   if(xhr.readyState ==4){ 
    var dobj = document.getElementsByTagName('div')[0].innerHTML = xhr.responseText; //把从php 接收的内容放入INNERHTML 
   } 
  } 
  xhr.send(); 
 } 
</script> 
</head> 
<body> 
  <input type="button" value="最新商品" onclick="top3('is_new');"> 
  <input type="button" value="热卖商品" onclick="top3('is_hot');"> 
  <input type="button" value="精品商品" onclick="top3('is_best');"> 
  <div id="test"> 
  </div> 
</body>

实例2:根据输入的ID 获取商品信息 并修改

<?php 
$conn = mysql_connect('localhost','root','123456') or die('连接失败'); 
 mysql_select_db('ecshop'); 
 mysql_query('set names utf8'); 
 $id = isset($_GET['id'])?$_GET['id']:1; 
 if($id==''){ 
  $error['num'] = 1; 
  $error['msg']; 
 } 
 $sql = 'select goods_id,goods_name,shop_price,goods_number from goods where goods_id ='.$id; 
 $rs = mysql_query($sql); 
 if(!($goods = mysql_fetch_assoc($rs))){  //获取不到商品就返回false 
  echo '没有该商品!'; 
  exit; 
 } 
 echo json_encode($goods);     //把数组转成一个json 格式~~ 
?>

HTML端的内容

<script> 
 var xhr = new XMLHttpRequest(); 
 function modify(){ 
  var inputs = document.getElementsByTagName('input') 
  var gid = inputs[0].value; 
  var url = 'search.php?id='+ gid;
  xhr.open('get',url); 
  xhr.onreadystatechange = function (){ 
   if(xhr.readyState ==4){ 
    var data = eval('('+ xhr.responseText +')') //把接收到的json 格式数据转成JS的对象! 
    inputs[1].value = data.goods_name; 
    inputs[2].value = data.goods_number; 
    inputs[3].value = data.shop_price; 
   } 
  } 
  xhr.send(null) //经常漏写了~~~不写是发送不了请求的~~一定要写! 
 } 
</script> 
</head> 
<body> 
<h1>商品编辑</h1> 
  商品id:<input type="text" name="goods_id" onfocus="al()" onblur="modify();" /><br /> <span></span> 
  商品名称:<input type="text" name="goods_name" /><br /> 
  商品库存:<input type="text" name="goods_number" /><br /> 
  商品价格:<input type="text" name="shop_price" /><br /> 
  <input type="submit" value="修改" /> 
</body>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
JS上传图片预览插件制作(兼容到IE6)
Aug 07 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
如何使node也支持从url加载一个module详解
Jun 05 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
Sep 27 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 Javascript
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
Angular1.x复杂指令实例详解
Mar 01 #Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 #Javascript
Angular1.x自定义指令实例详解
Mar 01 #Javascript
轻松学习Javascript闭包
Mar 01 #Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 #Javascript
node.js实现回调的方法示例
Mar 01 #Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 #Javascript
You might like
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
用PHP来写记数器(详细介绍)
2006/10/09 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
PHP文件操作详解
2016/12/30 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
Vue组件化开发思考
2018/02/02 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
Python优先队列实现方法示例
2017/09/21 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
Python实现仿射密码的思路详解
2020/04/23 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
介绍一下linux的文件权限
2012/02/15 面试题
物业公司采购员岗位职责
2013/12/31 职场文书
大学老师推荐信
2014/02/25 职场文书
初一学生期末评语
2014/04/24 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
家长会欢迎词
2015/01/23 职场文书
学校施工安全责任书
2015/01/29 职场文书
前台岗位职责范本
2015/04/16 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python