1. 关于购物车已经存在商品,自+1进数据库的问题,
代码方面一般都是网上找的,主要问题也不知道在哪里,最好是重新弄一下,或内者网上找一个其他代码容再试试,不断尝试一定能解决的,我们店问题多了去了,熬几个通宵,慢慢去试代码,还不是一样解决
旺 旺 号 doubaby TB 店 名 本相织物 (文艺风 男女装)
2. 购物车中数据的存放方式
这是学WEB基础好不好的体现了,兄弟!
这得看你的具体情况了!
如果数据量很小且没什回么安全考虑,建议保存在cookie中好答,因为cookie高效!
如果数据量很大,又涉及到安全性的问题考虑,建议保存于session中好!
session和cookie的区别:
1.cookie是保存在客服端的,session保存于服务端的、并且客服端拥有一个sessionId;
2.cookie能保存的数据最多为4G,session能保存的数据要比cookie大的多
3.使用cookie高效而不安全(因为其只是客服端拥有,服务端没有所以安全性得不到保证),而session虽然效率低却有安全保障!
3. 在购物网站上的购物车是不是把信息存放在Session对象里面呀
一般来说购物来车信息是存放在自Session中的, 因为Session 便于管理. Session 不是在用户的电脑里的, 它是一次会话, 所以是暂存在服务器上的.(是否是在JVM中我不敢肯定, 好像实例化出来的对象和数据都是存放在JVM, 仅供参考)
Session 的性能不用担心, 因为是服务器和一个客户端之间的会话, 而且购物车中的内容不会太多, 所以不会影响到服务器的性能.
用Session做购物车有一点不好, 除非你Session有效期设置的很长, 否则的话, 用户在操作过程中, 一旦Session 超时, 购物车中的东西就会全部丢失.
4. PHP电子商务的购物车保存问题
你要求的保存,需要让他登陆账号,保存在他的数据库中。而不是session。
保存session的,换台电脑就不行了。
现在的也都是这样,没有登陆账号的,保存在session中。下次就没了
5. 如何向购物车表中插入多条数据,如果购物车中存在该数据,就只更新数量
/// <summary>
/// 批量添加产品属性库存
/// </summary>
public bool AddStock(string[] proidList, string[] proskuList, string[] countnumList, string[] priceList, string[] is_attribute,string[] riskofstocktips, string userid)
{
SqlConnection conn = new SqlConnection(Maticsoft.DBUtility.PubConstant.ConnectionString);
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select proid,prosku,countnum,allcountnum,price,userid,operatorid,riskofstocktips from Stock", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds);
ds.Tables[0].PrimaryKey = new DataColumn[] { ds.Tables[0].Columns["proid"] };//数据库里这个proid敢必然是主键才可
int allcountnum = 0;
//BLL.BLLStockAttribute bll = new BLL.BLLStockAttribute();
//string[] attrskulist,attrcountnumList,attrpriceList;
for (int i = 0; i < proidList.Length; i++)
{
if (is_attribute[i] == "0")//证明是没有属性列表的就直接加数量
{
if (countnumList[i] != "0" && Maticsoft.Common.PageValidate.IsNumber(countnumList[i]) && int.Parse(countnumList[i]) > 0)
{
//在ds.Tables[0]中查找数据库中是否已经存在该条数据
DataRow modyRow = ds.Tables[0].Rows.Find(int.Parse(proidList[i]));
//如果数据库已经存在该行,则修改记录,不进行插入
if (modyRow != null)
{
//设置该行记录为“已修改”状态,此操作必须。
//ds.Tables[0].Rows.Find(proidList[i]).SetModified();
DataRow dr = ds.Tables[0].Rows.Find(proidList[i]);
//重新给该记录赋值
dr.BeginEdit();
//dr[0] = proskuList[i];
dr[1] = proskuList[i];
if (dr[2].ToString() != "")
{
dr[2] = (int.Parse(countnumList[i].ToString()) + int.Parse(dr[2].ToString())).ToString();
}
else
{
dr[2] = countnumList[i];
}
if (dr[3].ToString() != "")
{
allcountnum = int.Parse(dr[3].ToString()) + int.Parse(countnumList[i].ToString());
}
dr[3] = allcountnum;
dr[4] = priceList[i];
dr[5] = dr[5];
dr[6] = userid;
dr[7] = riskofstocktips[i];
dr.EndEdit();
}
else
{
DataRow dr = ds.Tables[0].NewRow();
dr[0] = proidList[i];
dr[1] = proskuList[i];
dr[2] = countnumList[i];
dr[3] = countnumList[i];
dr[4] = priceList[i];
dr[5] = userid;
dr[6] = userid;
dr[7] = riskofstocktips[i];
ds.Tables[0].Rows.Add(dr);
}
}
//添加入库存操作明细
}
//else
//{
// //有属性列表的 对属性列表进行添加到库存的属性列表
// //attrskulist = Request.Form["proattrsku" + proidList[i]].ToString().Split(',');//属性sku
// //attrcountnumList = Request.Form["proattrnum" + proidList[i]].ToString().Split(',');//属性数量
// //attrpriceList = Request.Form["proattrprice" + proidList[i]].ToString().Split(',');//属性价钱
// //bll.AddStockAttribute(proskuList[i], attrskulist, attrcountnumList, attrpriceList, userid);
//}
}
adapter.Update(ds);
return true;
}
道理一样的,看不懂就算了
6. 购物车中的信息是存在什么里面的我看了下京东的购物车,有点不理解。
存在京东的数据库中,与你自己的电脑没有关系的。
即使你用别的电脑登录,一样能够看到的。
7. 购物商城的网站,怎么解决商品加入购物车后数据流失问题
可能是您所在的地区无货 一般都应该会标注库存量
8. 商城购物车功能,数据存放在哪里好
如果你登陆了京东帐号,然后把商品放入购物车,这时清理自己电脑的cookie是没有用的,商品是储存在京东帐号的购物车里。
如果没有登陆京东帐号,把商品放入购物车,清理电脑上的cookie才有用
9. 请问每次点击购物车里的加减号改变货物数量时,都要把数据存数据库吗
要看程序逻辑是怎么设计的,一般是购买提交的时候才会存入数据库呀。