购物车实现以后,如何把session中的购物信息在结账时插入数据库啊 这个容易,session得到一长串的变量,把session指的全局变量,直接插入数据库中,它也其它变量一样。如果session一个全局变量中有多个需要分解的值,可以利用,explode()将字符串切开。分别赋给不同的变量。然后到插入数据库 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //插入商品 $sql=array(); for ($i=0;$i<$thiscart->sp_count;$i++) { $sql[$i]="insert into dglist set dgl_bjid=$_SESSION[cc_bjid],dgl_pid=".$thiscart->cart[$i]["id"].",dgl_num=".$thiscart->cart[$i]["num"]; // echo $sql[$i]; } exesql($conf_db,$sql,$db,"提交商品订单出错!","popup",true,"res"); $thiscart->clear();$thiscart是我写的购物车类$thiscart->cart[][]是SESSION中所存的商口信息(SESSION中信息在类的构造函数中读出的)附 exesql(函数代码)(只是局部应用,所以写的不太灵活,,欢迎大家修改)//数据库执行函数//传入SQLTXT DBNAME CONN ERRORTEXT RETUENERRTYPE(echo 为打印 popup为弹出窗口) RETURNTYPE(res为返回对象 rst为返回数据集)//支持以数字为下标的数组查询语句,从0开始function exesql($dbname,$sql,$db,$err,$reterrtype="echo",$errynend=true,$retype="res"){ $flag=true; $arr=array(); if (is_array($sql)) //对阵列查询语句的处理 {$arr=$sql; } else $arr[0]=$sql; $arrcount=count($arr); for ($i=0;$i<$arrcount;$i++) {//循环处理查询语句 if (! $result=@mysql_db_query($dbname,$arr[$i],$db)) { if (! empty($err)) {$flag=false; if ($reterrtype=="echo") echo $err; else echo '<script language="javascript"> <!-- alert("'.$err.'"); //--> </script>'; if ($errynend) die(); } } if (($retype=="res" && $i==($arrcount-1)) || $flag==false) return $result; if ($retype=="rst") { if (! $rst=@mysql_fetch_array($result)) { if (! empty($err)) {$flag=false; if ($reterrtype=="echo") echo $err; else echo '<script language="javascript"> <!-- alert("'.$err.'"); //--> </script>'; if ($errynend) die(); } } if ($i==($arrcount-1) || $flag==false) return $rst; } }//循环处理查询语句结束} http://community.csdn.net/Expert/topic/3436/3436151.xml?temp=.9179956 具体用法及类代码 我的PHP5.3.5压缩包里没有php_zip.dll php不能正常运行是怎么回事 有谁知道php视频教程的地址吗 跟大家请教一下PHP数据库备份问题.送上100分 【新视线】PHP使用MySQL5存储过程、函数、视图、触发器专帖 javascript有对象能获取浏览器上的url,php中有无这样的函数? 急需便宜好使的php+mysql空间,大家推荐一下 xuzuning(唠叨),急死我了,帮忙看看我这个问题,不胜感激~ PHP的含义是什么? tinkphp 后台显示分类问题 javascript脚本不能用... 域名设置
$sql=array();
for ($i=0;$i<$thiscart->sp_count;$i++)
{
$sql[$i]="insert into dglist set dgl_bjid=$_SESSION[cc_bjid],dgl_pid=".$thiscart->cart[$i]["id"].",dgl_num=".$thiscart->cart[$i]["num"];
// echo $sql[$i];
}
exesql($conf_db,$sql,$db,"提交商品订单出错!","popup",true,"res");
$thiscart->clear();
$thiscart是我写的购物车类
$thiscart->cart[][]是SESSION中所存的商口信息(SESSION中信息在类的构造函数中读出的)附 exesql(函数代码)(只是局部应用,所以写的不太灵活,,欢迎大家修改)
//数据库执行函数
//传入SQLTXT DBNAME CONN ERRORTEXT RETUENERRTYPE(echo 为打印 popup为弹出窗口) RETURNTYPE(res为返回对象 rst为返回数据集)
//支持以数字为下标的数组查询语句,从0开始
function exesql($dbname,$sql,$db,$err,$reterrtype="echo",$errynend=true,$retype="res")
{ $flag=true;
$arr=array();
if (is_array($sql)) //对阵列查询语句的处理
{$arr=$sql;
}
else
$arr[0]=$sql;
$arrcount=count($arr);
for ($i=0;$i<$arrcount;$i++)
{//循环处理查询语句
if (! $result=@mysql_db_query($dbname,$arr[$i],$db))
{
if (! empty($err))
{$flag=false;
if ($reterrtype=="echo")
echo $err;
else
echo '<script language="javascript">
<!--
alert("'.$err.'");
//-->
</script>';
if ($errynend) die();
}
}
if (($retype=="res" && $i==($arrcount-1)) || $flag==false) return $result;
if ($retype=="rst")
{
if (! $rst=@mysql_fetch_array($result))
{
if (! empty($err))
{$flag=false;
if ($reterrtype=="echo")
echo $err;
else
echo '<script language="javascript">
<!--
alert("'.$err.'");
//-->
</script>';
if ($errynend) die();
}
}
if ($i==($arrcount-1) || $flag==false) return $rst;
}
}//循环处理查询语句结束
}
具体用法及类代码