0

0

购物车的源程序_MySQL

php中文网

php中文网

发布时间:2016-06-01 14:10:49

|

1225人浏览过

|

来源于php中文网

原创

  
1、重新计费部分还没有做好,大家自己动手吧!
2、下一版本将用session做。
//shop_cart.jsp




String product_type;
String action;
int product_id;
int curpage;
//商品类型
if (request.getParameter("product_type")==null){
product_type="all";
}else{
product_type=request.getParameter("product_type");
}



 



//页数和商品类型参数,可以在“继续购物”时返回到上次购物的页面
if (request.getParameter("curpage")==null){
curpage=1;
}else{
curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
}



 



//动作
if (request.getParameter("action")==null){
action="view";
}else{
action=request.getParameter("action");
}



 



//商品编号
if (request.getParameter("product_id")==null){
product_id=0;
}
else{
product_id=java.lang.Integer.parseInt(
 request.getParameter("product_id"));
}



int bbb;
bbb=1;



Integer num = new Integer(bbb);



//商店编号
session.putValue("shop_id",num);
//顾客username
session.putValue("guest_name","asp2001");
String guest_name=(String)session.getValue("guest_name");
Integer shop_id=(Integer)session.getValue("shop_id");
java.lang.String sql; 
java.sql.ResultSet rs;
if (action.compareTo("add")==0) {
sql="select cart_quantity from shop_cart where " 
+ "cart_shop_id=" + shop_id + " and cart_guest_id="" 
+ guest_name + "" and cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
if (rs.next()){
int cart_quantity;
cart_quantity=java.lang.Integer.parseInt(
 rs.getString("cart_quantity"))+1;
sql="update shop_cart set cart_quantity=" 
+ cart_quantity + " where cart_shop_id=" 
+ shop_id + " and cart_guest_id="" + guest_name 
+ "" and cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);}
else
{
sql="insert into shop_cart (cart_shop_id,cart_guest_id,"
+"cart_product_id,cart_quantity) values ("" + shop_id 
+ "","" + guest_name + "","" + product_id + "",1)";
rs = bka.executeQuery(sql);
}
}
if (action.compareTo("clear")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id 
+ " and cart_guest_id="" + guest_name + """;
rs = bka.executeQuery(sql);
}



 



if (action.compareTo("delete")==0) { 
sql="delete from shop_cart where cart_shop_id=" + shop_id 
+ " and cart_guest_id="" + guest_name + "" and cart_product_id=" 
+ product_id ;
rs = bka.executeQuery(sql);
}
%>










product_type=&curpage=">








bordercolorlight="#FFB468" bordercolordark="#FFFFFF" bgcolor="#FFB468">




购物车

商城购物系统
商城购物系统

商城购物系统是一个以php+MySQL进行开发的可塑性极强的电子商品平台;商城购物系统可自定义商品栏目内容,包含分销功能,分销管理、分销订单提成完整功能,商品加购物车、商品支付、商品发货等一系列流程,包括pc端和手机H5端。

下载



width="100%" bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">





cellspacing="0" width="100%" bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">


bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">





bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">






bgcolor="#fdfee2" bordercolorlight="#ffb468" bordercolordark="#ffffff" height="40">










sql="select shop_product.product_id,shop_product.product_name,
shop_product.product_price,shop_product.product_discount,
shop_cart.cart_quantity,shop_product.product_first from shop_cart,
shop_product where shop_cart.cart_shop_id=" + shop_id 
+ " and shop_cart.cart_guest_id="" + guest_name 
+ "" and shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executequery(sql);
int total;
int total_first;
total=0;
total_first=0;
string product_name;
int product_price;
int product_discount;
int product_first;
int cart_quantity;
if (rs.next()){
while (rs.next()) {
product_id=java.lang.integer.parseint(rs.getstring(1));
product_name=rs.getstring(2);
product_price=java.lang.integer.parseint(rs.getstring(3));
product_discount=java.lang.integer.parseint(rs.getstring(4));
cart_quantity=java.lang.integer.parseint(rs.getstring(5));
product_first=java.lang.integer.parseint(rs.getstring(6));
%>



 
















 



total=total+product_discount*cart_quantity;
total_first=total_first+product_discount*cart_quantity*product_first/100;
}
%>



 















商品名称 市场价 优惠价 数量 小计 定金比例 定金小计 删除




" size="3" value="">



总计

定金总计


结余





}else{
%>

购物车为空!


}
%>



数据库操作部分



程序用到两个表:
1 shop_cart表
cart_id int 购物车编号 自动编号
cart_shop_id nvarchar 商店编号
cart_product_id nvarchar 商品编号
cart_quantity int 商品数量
临时存放购物车数据



 



2 shop_product表
product_id int 商品编号 自动编号
shop_id nvarchar 商店编号
product_name nvarchar 商品名称
product_bb nvarchar 商品介绍
product_price int 市场价
product_discount int 优惠价
product_img img 图片
product_status nvarchar 状态
product_first int 定金比例
product_type nvanchar 商品类型
存放商品资料



 



使用bka.java制成的javabean:bka.class可以提供对数据库的操作。
另外,需在控制面板的系统DSN中注册bka.dsn,
从而可使JSP通过JDBC-ODBC来调用sql数据库。
在页面中调用javabean,基本上可采用以下方式:



 





String sql="select * from xxx";
ResultSet rs = RegisterBean.executeQuery(sql); 
if(rs.next()) { 
rs.close();
RegisterBean.closeStmt();
session.putValue("register_message","duplicate name found!");
}
%>
注意应在使用后将rs关闭。
以下是bka.java的源程序。注意在使用前需用javac加以编译成为class文件即javabean.
--shop/bka.java--
package shop;
import java.sql.*;



 



public class bka {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:bka";
Connection conn = null;
ResultSet rs = null;



 



public bka() {
try {
Class.forName(sDBDriver); 
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("bka(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr,"xxx","yyy"); 
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);

catch(SQLException ex) { 
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
} 1、重新计费部分还没有做好,大家自己动手吧!
2、下一版本将用session做。
//shop_cart.jsp




String product_type;
String action;
int product_id;
int curpage;
//商品类型
if (request.getParameter("product_type")==null){
product_type="all";
}else{
product_type=request.getParameter("product_type");
}



 



//页数和商品类型参数,可以在“继续购物”时返回到上次购物的页面
if (request.getParameter("curpage")==null){
curpage=1;
}else{
curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
}



 



//动作
if (request.getParameter("action")==null){
action="view";
}else{
action=request.getParameter("action");
}



 



//商品编号
if (request.getParameter("product_id")==null){
product_id=0;
}
else{
product_id=java.lang.Integer.parseInt(
 request.getParameter("product_id"));
}



int bbb;
bbb=1;



Integer num = new Integer(bbb);



//商店编号
session.putValue("shop_id",num);
//顾客username
session.putValue("guest_name","asp2001");
String guest_name=(String)session.getValue("guest_name");
Integer shop_id=(Integer)session.getValue("shop_id");
java.lang.String sql; 
java.sql.ResultSet rs;
if (action.compareTo("add")==0) {
sql="select cart_quantity from shop_cart where " 
+ "cart_shop_id=" + shop_id + " and cart_guest_id="" 
+ guest_name + "" and cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
if (rs.next()){
int cart_quantity;
cart_quantity=java.lang.Integer.parseInt(
 rs.getString("cart_quantity"))+1;
sql="update shop_cart set cart_quantity=" 
+ cart_quantity + " where cart_shop_id=" 
+ shop_id + " and cart_guest_id="" + guest_name 
+ "" and cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);}
else
{
sql="insert into shop_cart (cart_shop_id,cart_guest_id,"
+"cart_product_id,cart_quantity) values ("" + shop_id 
+ "","" + guest_name + "","" + product_id + "",1)";
rs = bka.executeQuery(sql);
}
}
if (action.compareTo("clear")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id 
+ " and cart_guest_id="" + guest_name + """;
rs = bka.executeQuery(sql);
}



 



if (action.compareTo("delete")==0) { 
sql="delete from shop_cart where cart_shop_id=" + shop_id 
+ " and cart_guest_id="" + guest_name + "" and cart_product_id=" 
+ product_id ;
rs = bka.executeQuery(sql);
}
%>









product_type=&curpage=">








bordercolorlight="#FFB468" bordercolordark="#FFFFFF" bgcolor="#FFB468">




购物车




width="100%" bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">





cellspacing="0" width="100%" bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">


bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">





bordercolorlight="#ffb468"
bordercolordark="#ffffff" bgcolor="#ffb468">






bgcolor="#fdfee2" bordercolorlight="#ffb468" bordercolordark="#ffffff" height="40">










sql="select shop_product.product_id,shop_product.product_name,
shop_product.product_price,shop_product.product_discount,
shop_cart.cart_quantity,shop_product.product_first from shop_cart,
shop_product where shop_cart.cart_shop_id=" + shop_id 
+ " and shop_cart.cart_guest_id="" + guest_name 
+ "" and shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executequery(sql);
int total;
int total_first;
total=0;
total_first=0;
string product_name;
int product_price;
int product_discount;
int product_first;
int cart_quantity;
if (rs.next()){
while (rs.next()) {
product_id=java.lang.integer.parseint(rs.getstring(1));
product_name=rs.getstring(2);
product_price=java.lang.integer.parseint(rs.getstring(3));
product_discount=java.lang.integer.parseint(rs.getstring(4));
cart_quantity=java.lang.integer.parseint(rs.getstring(5));
product_first=java.lang.integer.parseint(rs.getstring(6));
%>



 
















 



total=total+product_discount*cart_quantity;
total_first=total_first+product_discount*cart_quantity*product_first/100;
}
%>



 















商品名称 市场价 优惠价 数量 小计 定金比例 定金小计 删除




" size="3" value="">



总计

定金总计


结余





}else{
%>

购物车为空!


}
%>



数据库操作部分



程序用到两个表:
1 shop_cart表
cart_id int 购物车编号 自动编号
cart_shop_id nvarchar 商店编号
cart_product_id nvarchar 商品编号
cart_quantity int 商品数量
临时存放购物车数据



 



2 shop_product表
product_id int 商品编号 自动编号
shop_id nvarchar 商店编号
product_name nvarchar 商品名称
product_bb nvarchar 商品介绍
product_price int 市场价
product_discount int 优惠价
product_img img 图片
product_status nvarchar 状态
product_first int 定金比例
product_type nvanchar 商品类型
存放商品资料



 



使用bka.java制成的javabean:bka.class可以提供对数据库的操作。
另外,需在控制面板的系统DSN中注册bka.dsn,
从而可使JSP通过JDBC-ODBC来调用sql数据库。
在页面中调用javabean,基本上可采用以下方式:



 





String sql="select * from xxx";
ResultSet rs = RegisterBean.executeQuery(sql); 
if(rs.next()) { 
rs.close();
RegisterBean.closeStmt();
session.putValue("register_message","duplicate name found!");
}
%>
注意应在使用后将rs关闭。
以下是bka.java的源程序。注意在使用前需用javac加以编译成为class文件即javabean.
--shop/bka.java--
package shop;
import java.sql.*;



 



public class bka {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:bka";
Connection conn = null;
ResultSet rs = null;



 



public bka() {
try {
Class.forName(sDBDriver); 
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("bka(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr,"xxx","yyy"); 
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);

catch(SQLException ex) { 
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 3.9万人学习

第二十四期_前端开发
第二十四期_前端开发

共161课时 | 4.4万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号