Ajax 实现不刷新取最新商品


  1. <?php  
  2.   
  3.     $conn = mysql_connect('localhost','root','123456'or die('连接失败');  
  4.     mysql_select_db('ecshop');  
  5.     mysql_query('set names utf8');  
  6.   
  7.     $attr = isset($_GET['attr'])?$_GET['attr']:'is_hot';     //由html 的ajax提交过来  然后根据它来取数据~  
  8.   
  9.   
  10.      $sql = 'select goods_name,goods_id,shop_price from goods where '.$attr.' = 1 limit 0,3';  
  11.     $rs = mysql_query($sql,$conn);  
  12.   
  13.     //var_dump($rs);  
  14.   
  15.     $goods = array();  
  16.     while($row = mysql_fetch_assoc($rs)){  
  17.         $goods[] = $row;  
  18.     }  
  19.   
  20.     //print_r($goods);  
  21.   
  22. ?>   
  23. <table border='1'>                      //ajax 接收的就是 php输出内容  虽然它没echo 但也是输出在网页的内容 所以ajax 能接收~~!!!  
  24. <tr><td>商品ID</td><td>商品名称</td><td>商品价格</td></tr>  
  25.   
  26. <?php foreach($goods as $v){ ?>  
  27.     <tr>  
  28.         <td><?php echo $v['goods_id'];?></td>  
  29.         <td><?php echo $v['goods_name'];?></td>  
  30.         <td><?php echo $v['shop_price'];?></td>  
  31.     </tr>  
  32.   
  33. <?php }?>  
  34.   
  35. </table>  


HTML 的内容


[html]  view plain  copy
 print ?
  1. <script>  
  2.     var xhr = new XMLHttpRequest();  
  3.     function top3(attr){  
  4.         var url = 'goods.php?attr=' + attr;  
  5.   
  6.         xhr.open('get',url);  
  7.         xhr.onreadystatechange = function (){  
  8.             if(xhr.readyState ==4){  
  9.                 var dobj = document.getElementsByTagName('div')[0].innerHTML = xhr.responseText;   //把从php 接收的内容放入INNERHTML  
  10.   
  11.             }  
  12.         }  
  13.         xhr.send();  
  14.     }  
  15.   
  16. </script>  
  17. </head>  
  18. <body>  
  19.      <input type="button" value="最新商品" onclick="top3('is_new');">  
  20.   
  21.         <input type="button" value="热卖商品" onclick="top3('is_hot');">  
  22.   
  23.         <input type="button" value="精品商品" onclick="top3('is_best');">  
  24.         <div id="test">  
  25.         </div>  
  26. </body>  






实例2:根据输入的ID 获取商品信息 并修改
  1. <?php  
  2. $conn = mysql_connect('localhost','root','123456'or die('连接失败');  
  3.     mysql_select_db('ecshop');  
  4.     mysql_query('set names utf8');  
  5.   
  6.     $id = isset($_GET['id'])?$_GET['id']:1;  
  7.   
  8.     if($id==''){  
  9.         $error['num'] = 1;  
  10.         $error['msg'];  
  11.     }  
  12.   
  13.   
  14.     $sql = 'select goods_id,goods_name,shop_price,goods_number from goods where goods_id ='.$id;  
  15.   
  16.     $rs = mysql_query($sql);  
  17.   
  18.     if(!($goods = mysql_fetch_assoc($rs))){        //获取不到商品就返回false  
  19.         echo '没有该商品!';  
  20.         exit;  
  21.     }  
  22.   
  23.     echo json_encode($goods);                  //把数组转成一个json 格式~~  
  24.   
  25.   
  26. ?>  


HTML端的内容


[javascript]  view plain  copy
 print ?
  1. <script>  
  2.   
  3.     var xhr = new XMLHttpRequest();  
  4.     function modify(){  
  5.         var inputs = document.getElementsByTagName('input')  
  6.         var gid = inputs[0].value;  
  7.         var url = 'search.php?id='+ gid  
  8.   
  9.   
  10.         xhr.open('get',url);  
  11.         xhr.onreadystatechange = function (){  
  12.             if(xhr.readyState ==4){  
  13.   
  14.                 var data = eval('('+ xhr.responseText +')')  //把接收到的json 格式数据转成JS的对象!  
  15.   
  16.                 inputs[1].value = data.goods_name;  
  17.                 inputs[2].value = data.goods_number;  
  18.                 inputs[3].value = data.shop_price;  
  19.             }  
  20.         }  
  21.         xhr.send(null)   //经常漏写了~~~不写是发送不了请求的~~一定要写!  
  22.     }  
  23.   
  24. </script>  
  25.   
  26.   
  27. </head>  
  28. <body>  
  29.  <h1>商品编辑</h1>  
  30.         商品id:<input type="text" name="goods_id" οnfοcus="al()"  οnblur="modify();" /><br />  <span></span>  
  31.         商品名称:<input type="text" name="goods_name" /><br />  
  32.         商品库存:<input type="text" name="goods_number" /><br />  
  33.         商品价格:<input type="text" name="shop_price" /><br />  
  34.         <input type="submit" value="修改" />  
  35. </body>  






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值