추천 관련 mysql 비디오 튜토리얼: "mysql tutorial"
데이터베이스 구조:
3개 파일 준비:
1.cart.php // 프론트엔드 디스플레이 파일
2 .cart_ajax.php // ajax 처리 데이터
3.config.php //데이터베이스 구성
1, cart.php
<pre name="code" class="html"><?php include 'config.php'; $sql = "select * from cart"; $result = mysql_query($sql); $row = array(); while($rows = mysql_fetch_array($result,MYSQL_ASSOC)){ $row[] = $rows; } //print_r($row); ?> <!DOCTYPE html> <html lang="zh-hans"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <table width="" border="1" cellspacing="0" cellpadding="0" align="center"> <tr> <td>商品名称</td> <td>商品库存</td> <td>商品单价</td> <td>购买数量</td> <td>小计</td> <td>操作</td> </tr> <!--遍历数据--> <?php foreach($row as $key=>$val){?> <tr> <td><?php echo $val['name'] ?></td> <td><?php echo $val['total_quantity'] ?></td> <!--商品单价--> <td><input type="text" name="price" value="<?php echo $val['price'] ?>"></td> <td> <button onclick="minusCart(this, '<?php echo $val['id'] ?>')">-</button> <!--购买数量--> <input type="text" name="num" value="<?php echo $val['num'] ?>" max="<?php echo $val['total_quantity'] ?>" /> <button onclick="plusCart(this, '<?php echo $val['id'] ?>')">+</button> </td> <!--小计价格 --> <td><input type="text" name="subtotal_price" value="<?php echo $val['price']*$val['num'];?>" onclick="price()"></td> <td><button>编辑</button><button>删除</button></td> </tr> <?php }?> <tr> <!--总价--> <td>总价</td> <td colspan="4">0元</td> </tr> </table> <!--<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"></script>--> <script src="jquery-2.1.1.min.js"></script> <script> function setPrice(o) {//设置小计和总价 var tr = o.closest('tr'); var ipt = tr.find('input'); ipt.filter(':last').val(parseInt(o.val()) * parseInt(ipt.eq(0).val(), 10)); var sum = 0; o.closest('tbody').find('input[name="subtotal_price"]').each(function () { sum += parseInt(this.value, 0) || 0; }) .end().find('td:last').html(sum+'元') } //减 function minusCart(_this, id){ var num_input = $(_this).next('input[name="num"]'); var num = parseInt(num_input.val()); num--; if(num <= 0){ return false; } else { num_input.val(num); setPrice(num_input); cartNum(num_input, id, num); } } //加 function plusCart(_this,id){ //获取购买数量 var num_input = $(_this).prev('input[name="num"]'); var num = parseInt(num_input.val()); var total_quantity = parseInt(num_input.attr('max')); if(num >= total_quantity){ alert('库存不足'); return false; }else { //alert(num); num = parseInt(num) + 1; num_input.val(num); setPrice(num_input); cartNum(num_input, id, num); } } /** * 修改购物车商品数量 * @param _this * @param id * @param num */ function cartNum(_this, id, num){ $.ajax({ type: 'POST', url: 'cart_ajax.php', data: {id: id, num: num}, dataType: 'json', success: function (res) { if (res.status == 1) { _this.val(num); }else{ alert(res.info); } } }); } </script> </body> </html>
2, config.php
<?php /** *email:scenewood@163.com *name:郑小木 */ $server = 'localhost'; $data = 'shopping'; mysql_connect($server,'root','root'); mysql_set_charset('utf8'); mysql_select_db($data);
3, cart_ajax.php
<?php /** *email:scenewood@163.com *name:郑小木 */ include 'config.php'; //接受cart.php的数据 if ($_POST) { $id = $_POST['id']; $num = $_POST['num']; $retureInfo = array( 'status' => 0, 'info' => '修改商品数量失败' ); $sql = "UPDATE `cart` SET num='{$num}' WHERE `id`={$id}"; mysql_query($sql); $row = mysql_affected_rows(); if ($row == 1) { $retureInfo['status'] = 1; $retureInfo['info'] = '修改商品数量成功'; } echo json_encode($retureInfo); }
이 글 설명 장바구니 기능은 php+MySQL+jQuery+Ajax를 통해 구현됩니다. 자세한 관련 내용은 php 중국어 홈페이지를 참고해주세요.
관련 권장 사항:
Linux 시스템을 통해 php+mysql+apache를 배포하는 방법 관련 작업
Linux에서 Nginx+PHP+Mysql 환경을 구축하는 과정에 대한 설명
Nginx+PHP+ 구축 Linux 프로세스 설명에서의 MySQL 환경
위 내용은 php+MySQL+jQuery+Ajax를 통한 장바구니 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!