文档详情

PHP应用开发与实践教学课件马骏第18章综合案例——应用Smarty模板开发电子商务网站.ppt

发布:2019-01-15约5.99万字共114页下载文档
文本预览下载声明
* * 5.保存购物车 当用户希望保存商品更改后的商品数量时,可以单击“继续购物”按钮,将触发onclick事件调用conshop()函数保存数据,该函数有一个参数,就是当前表单的名称。在conshop()函数内,根据复选框和商品数量文本域,生成两个数组fst和snd,分别保存商品id和商品数量。 这里要注意,两个数组的值是要相互对应的,如商品1的id保存到fst[1]中,那么商品1的数量就要保存到snd[1]中,然后根据这两个数组生成一个url,使用xmlhttprequest对象调用url,最后根据回传信息作出相应的判断。conshop()函数代码如下: //更改商品数量 function conshop(form){ var n_pre = cnum; var lang = form.chk.length; if(lang == undefined){ var fst = form.chk.value; var snd = um0.value; }else{ var fst= new Array(); var snd = new Array(); for(var i = 0; i lang; i++){ var nm = n_pre+i.toString(); var stmp = document.getElementById(nm).value; if(stmp == || isNaN(stmp)){ alert(不允许为空、必须为数字); document.getElementById(nm).select(); return false; } snd[i] = stmp; var ftmp = form.chk[i].value; fst[i] = ftmp; } } var url = changecar.php?fst=+fst+snd=+snd; xmlhttp.open(GET,url,true); xmlhttp.onreadystatechange = updatecar; xmlhttp.send(null); } function updatecar(){ if(xmlhttp.readyState == 4){ var msg = xmlhttp.responseText; if(msg == 1){ location=index.php; }else{ alert(操作失败+msg); } } } 在conshop()函数中调用的changecar.php页为数据处理页,该页将商品id和商品数量进行重新排列,并保存到shopping字段内。该页面代码如下: ?php session_start(); header ( Content-type: text/html; charset=UTF-8 ); //设置文件编码格式 require(system/system.inc.php); //包含配置文件 $sql = select id,shopping from tb_user where name = .$_SESSION[member].; $rst = $admindb-ExecSQL($sql,$conn); $reback = 0; $changecar = array(); if(isset($_GET[fst]) isset($_GET[snd])){ $fst = $_GET[fst]; $snd = $_GET[snd]; $farr = explode(,,$fst); $sarr = explode(,,$snd); $upcar = array(); for($i = 0; $i count($farr); $i++){ $upcar[$i] = $farr[$i].,.$sarr[$i]; if(count($farr) 1){ $update = update tb_user set shopping=.implode(@,$upcar). where name = .$_SESSION[member].; }else{ $update = update tb_user set shopping=.$upcar[0]. where name = .$_SESSION[member].; $shop = $admindb-ExecSQL($update,$conn); if($shop){ $reback = 1; }else{ $reback = 2; ech
显示全部
相似文档