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 相关文章推荐
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
May 13 Javascript
node.js中的fs.rmdir方法使用说明
Dec 16 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
Dec 01 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
Mar 28 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
Angular.JS中的this指向详解
May 17 Javascript
vue+axios+mock.js环境搭建的方法步骤
Aug 28 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
react组件基本用法示例小结
Apr 27 Javascript
原生JavaScript实现幻灯片效果
Feb 19 Javascript
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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
仿服务器端脚本方式的JS模板实现方法
2007/04/27 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Django中对数据查询结果进行排序的方法
2015/07/17 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
详谈python read readline readlines的区别
2017/09/22 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
python绘制随机网络图形示例
2019/11/21 Python
python识别验证码图片实例详解
2020/02/17 Python
利用python汇总统计多张Excel
2020/09/22 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
测量员岗位职责
2015/02/14 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
bose降噪耳机音能消除人声吗
2022/04/19 数码科技