|
|
|
การบันทึกข้อมูลลงใน mysql แบบ multiple ช่วยหน่อยครับ งมมานานมากยังไม่ได้เลย |
|
|
|
|
|
|
|
คือทำตะกร้าสินค้าครับ คือเลือกถ้าเลือกซื้อสินค้ามากกว่าหนึี่งตัว แต่เวลามันบันทึกข้อมูลในบิลนั้น มันจะมีสินค้าแค่ตัวเดียวครับ ตัวที่สองสามสี่ตัวถัดๆมา ไม่ถูกบันทึกครับช่วยดูทีครับ
ตรง Insert order ราคารวมถูกต้องหมดครับ นับทุกตัวสินค้า
แต่ติดตรงที่ จะบันทึกรายละเอียดสินค้ามันบันทึกแต่ตัวเดียวครับ ตัวอื่นไม่บันทึกให้
โค้ดครับ
Code (PHP)
// Insert Order
$sql = "insert into cusorder (OrderNo,MemberID,Total,Date) Values ('$strOrderID','$strMemberID[MemberID]','$_POST[txtTotal]','".date("Y-m-d")."')";
$dbquery = mysql_query($sql);
// Insert Detail
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
$result=select("product","where 1=1 and ProductID='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$Proid=$_SESSION["strProductID"]["$i"];
$Quanlity=$_SESSION["strQuanlity"]["$i"];
$sql = "update product set Stock=Stock-$Quanlity where ProductID='$Proid'";
$dbquery = mysql_query($sql);
$sql = "insert into order_detail (OrderNo,ProductID,Quanlity) Values ('$strOrderID','".$_SESSION["strProductID"]["$i"]."','".$_SESSION["strQuanlity"]["$i"]."')";
$dbquery = mysql_query($sql);
Tag : PHP
|
|
|
|
|
|
Date :
2011-12-19 01:11:45 |
By :
สิงห์ |
View :
1144 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กระทึบ อีกนิดได้ป่าวคับ หุหุ
|
|
|
|
|
Date :
2011-12-19 02:29:41 |
By :
lin2online |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นับได้ตามจำนวนที่เลือกซื้อครับ ครบหมด แต่เวลา add ใน sql มันทำไมยังแอดตัวเดียว ช่วยดูทีนะครับ โค้ดเต็มๆ ได้มาจากที่นี่แหละครับตะกร้าสินค้าตัวนี้
Code (PHP)
<?
ob_start();
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
session_start();
require("connect/connect.php");
require("connect/function.php");
//============ กรณีเลือกทำการ บันทึกข้อมุลสั่งซื้อ
if($_POST["action"]=="add")
{
// อ่าน OrderID
$strResultOrderID=select("orderid","where 1");
$strOrderID="ORDER-".substr("000000000$strResultOrderID[OrderID]", -6);
//อ่าน MemberID
$strMemberID=select("member","where 1 and Email='".$_SESSION["strEmail"]."'");
// Insert Order
$sql = "insert into cusorder (OrderNo,MemberID,Total,Date) Values ('$strOrderID','$strMemberID[MemberID]','$_POST[txtTotal]','".date("Y-m-d")."')";
$dbquery = mysql_query($sql);
// Insert Detail
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
$result=select("product","where 1=1 and ProductID='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$Proid=$_SESSION["strProductID"]["$i"];
$Quanlity=$_SESSION["strQuanlity"]["$i"];
$sql = "update product set Stock=Stock-$Quanlity where ProductID='$Proid'";
$dbquery = mysql_query($sql);
$sql = "insert into order_detail (OrderNo,ProductID,Quanlity) Values ('$strOrderID','".$_SESSION["strProductID"]["$i"]."','".$_SESSION["strQuanlity"]["$i"]."')";
$dbquery = mysql_query($sql);
}
}
// Update Order ตัวต่อไปให้เป็น 1
update("orderid","OrderID=OrderID+1","where 1");
$_SESSION["strP"]="";
$_SESSION["strProductID"]="";
$_SESSION["strQuanlity"]="";
session_write_close();
//============ กระโดดไปหน้า ordercomplete.php
header("location:ordercomplete.php?OrderID=$strOrderID");
}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title></title>
<link href="css/styles.css" rel="stylesheet" type="text/css">
</head>
<body topmargin="0">
<table width="778" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#f2f2f6" bgcolor="#FFFFFF">
<tr>
<td width="23%" valign="top"> <br> </td>
<td width="54%" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="417" height="310" valign="top">
<form action="" method="post" name="frmCart" id="frmCart">
<table width="415" border="0">
<tr>
<td><table width="418" height="22" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr>
<td width="8"> <img src="image/menu01.jpg" width="8" height="22" alt=""></td>
<td width="389" background="image/menu02.jpg"><div align="center"><strong>ยืนยันข้อมูล</strong><strong></strong><strong>
</strong></div></td>
<td width="9"> <img src="image/menu03.jpg" width="9" height="22" alt=""></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><div align="center">
<table width="415" border="0">
<tr>
<td><strong>
<input name="action" type="hidden" id="action" value="add">
</strong></td>
</tr>
<tr>
<td><table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="center">ลำดับ</div></td>
<td>ชื่อสินค้า</td>
<td><div align="center">ราคา</div></td>
<td><div align="center">จำนวน</div></td>
<td><div align="center">รวม</div></td>
</tr>
<?
//============ แสดงรายการที่ได้สั่งซื้อว่ามีอะไรบ้าง
$strNum=0;
$strTotal=0;
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
//============ เลือกว่าเป็นรายการสินค้าชนิดใด
$result=select("product","where 1=1 and ProductID='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$strNum++;
?>
<tr bgcolor="#FFFFFF">
<td width="9%"> <div align="center">
<?=$strNum;?>
</div></td>
<td width="48%">
<?=$result["ProductName"];?>
</td>
<td width="14%"> <div align="right">
<?="".number_format($result["Price"], 2,'.',',');?>
</div></td>
<td width="13%"><div align="center">
<?=$_SESSION["strQuanlity"]["$i"];?>
</div></td>
<td width="16%"> <div align="right">
<?="".number_format(($result["Price"])*$_SESSION["strQuanlity"]["$i"], 2,'.',',');?>
</div></td>
</tr>
<?
$strTotal=$strTotal+(($result["Price"])*$_SESSION["strQuanlity"]["$i"]);
}
}
?>
</table>
<br> <table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="right">จำนวน (รายการ)</div></td>
<td> <div align="right">
<?=$strNum;?>
</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td> <div align="right">ราคารวม (บาท)</div></td>
<td width="16%"> <div align="right">
<?="".number_format($strTotal, 2,'.',',');?>
<input name="txtTotal" type="hidden" value="<?=$strTotal;?>">
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td width="378">
<div align="center"><br>
<hr align="center" width="98%" color="#f2f2f6">
<br>
<?
if($strNum==0)
{
echo "<br><center><strong><font color=red>ไม่มีรายการสั่งซื้อ</font></strong></center><br><br>";
}
?>
<input name="BtnContinute" type="button" class="button" id="BtnContinute" value="กลับไปแก้ไข" onClick="window.location='cart.php';">
<?
if($strNum>0)
{?>
<input name="BtnPayment" type="submit" class="button" id="BtnPayment" value="ยืนยันการสั่งซื้อ">
<?}?>
<br>
</div></td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td width="378"> </td>
</tr>
</table>
|
|
|
|
|
Date :
2011-12-19 08:53:38 |
By :
สิงห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รูปภาพนะครับ ก่อนการกดยืนยัน กับ หลังจากกดยืนยันการสั่งซื้อ
|
|
|
|
|
Date :
2011-12-19 09:03:59 |
By :
สิงห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค้ดข้างบนเป็น confirm.php ครับ
ส่วนตัวนี้เป็นโค้ด Cart.php ก่อนการกดยืนยันครับ
Code (PHP)
<?
ob_start();
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล
session_start();
require("connect/connect.php");
require("connect/function.php");
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title></title>
<link href="css/styles.css" rel="stylesheet" type="text/css">
</head>
<body topmargin="0" bgcolor="#ffcccc">
<table width="778" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<?
//============ Check ว่ามีซ้ำแล้วหรือยัง
if($_GET["ProductID"] != "")
{
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
if($_SESSION["strProductID"][$i] == $_GET["ProductID"])
{
header("location:$_SERVER[PHP_SELF]");
exit();
}
}
}
//============ ถ้ามีการเลือกรายการสินค้าให้เก็บลง Session
if(trim($_GET["ProductID"]) != "")
{
$_SESSION["strP"]=$_SESSION["strP"]+1;
$_SESSION["strProductID"][$_SESSION[strP]]=$_GET["ProductID"];
$_SESSION["strQuanlity"][$_SESSION[strP]]=1;
session_write_close();
header("location:$_SERVER[PHP_SELF]");
}
//============ กรณีลบรายการสั่งซื้อ
if(trim($_GET["action"]) == "Del")
{
$_SESSION["strProductID"][$_GET[P]]="";
$_SESSION["strQuanlity"][$_GET[P]]="";
session_write_close();
header("location:$_SERVER[PHP_SELF]");
}
//============ กรณีการแก้ไขรายการสั่งซื้อ
if(trim($_POST["action"]) == "Update")
{
for($i=0;$i<count($_POST["txtQua"]);$i++)
{
$strP=$_POST[txtP][$i];
$strQ=$_POST["txtQua"][$i];
if($strQ <= 0)
{
$strQ=1;
}
$_SESSION["strQuanlity"][$strP]=$strQ;
/*
$result=select("product","where 1=1 and ProductID='".$_SESSION["strProductID"][$strP]."'");
if($result["Stock"] < $strQ)
{
$_SESSION["strQuanlity"][$strP]=$result["Stock"];
echo"<script language='JavaScript'>";
echo"alert('รหัสสินค้า [ $result[ProductCode] ] มีจำนวน Stock ไม่เพียงพอ');";
echo"</script>";
}
*/
}
session_write_close();
//============ กระโดด Refresh ใหม่อีกรอบ
header("location:$_SERVER[PHP_SELF]");
}
?>
</td>
</tr>
<tr>
<td><table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#f2f2f6" bgcolor="#FFFFFF">
<tr>
<td width="23%" valign="top"> <br> </td>
<td width="54%" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="520" height="310" valign="top">
<form action="" method="post" name="frmCart" id="frmCart">
<table width="520" border="0">
<tr>
<td><table width="520" height="22" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr>
<td width="8"> <img src="image/menu01.gif" width="8" height="22" alt=""></td>
<td width="500" background="image/menu02.gif"><div align="center"><strong>รายการสั่งซื้อ
<input name="action" type="hidden" id="action" value="Update">
</strong></div></td>
<td width="9"> <img src="image/menu03.gif" width="9" height="22" alt=""></td>
</tr>
</table>
<strong> </strong></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="center">ลำดับ</div></td>
<td>ชื่อสินค้า</td>
<td><div align="center">ราคา</div></td>
<td>ค่าจัดส่ง</td>
<td><div align="center">จำนวน</div></td>
<td><div align="center">รวม</div></td>
</tr>
<?
//============ ทำการแสงรายการที่ได้เลือกว่ามีกี่รายการ
$strNum=0;
$strTotal=0;
for($i=0;$i<=count($_SESSION["strProductID"]);$i++)
{
//============ เลือกว่ารายการสินค้าใดบ้าง
$result=select("product","where 1=1 and ProductID='".$_SESSION["strProductID"]["$i"]."' ");
if($result)
{
$strNum++;
?>
<tr bgcolor="#FFFFFF">
<td width="9%"> <div align="center">
<?=$strNum;?>
<a href="javascript:if(confirm('ลบรายการสินค้า')==true){window.location='<?=$_SERVER['PHP_SELF'];?>?action=Del&P=<?=$i;?>';}"><img src="image/deleteC.gif" width="12" height="11" border="0"></a></div></td>
<td width="48%">
<?=$result["ProductName"];?>
</td>
<td width="14%"> <div align="right">
<?="".number_format($result["Price"], 2,'.',',');?>
</div></td>
<td width="13%">
<div align="right">
<?="".number_format($result["PriceSend"], 2,'.',',');?>
</div></td>
<td width="13%"><div align="center">
<input name="txtP[]" type="hidden" id="txtP[]" value="<?=$i;?>">
<input name="txtQua[]" type="text" id="txtQua<?=$strNum;?>" style="width:30px;text-align:right" value="<?=$_SESSION["strQuanlity"]["$i"];?>" maxlength="3" onChange="checknum(this.value,'txtQua<?=$strNum;?>');">
</div></td>
<td width="16%"> <div align="right">
<?="".number_format(($result["Price"]+$result["PriceSend"])*$_SESSION["strQuanlity"]["$i"], 2,'.',',');?>
</div></td>
</tr>
<?
$strTotal=$strTotal+(($result["Price"]+$result["PriceSend"])*$_SESSION["strQuanlity"]["$i"]);
}
}
?>
</table>
<br> <table width="98%" height="21" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#666666">
<tr bgcolor="#FFFFFF">
<td><div align="right">จำนวน (รายการ)</div></td>
<td> <div align="right">
<?=$strNum;?>
</div></td>
</tr>
<tr bgcolor="#FFFFFF">
<td> <div align="right">ราคารวม (บาท)</div></td>
<td width="16%"> <div align="right">
<?="".number_format($strTotal, 2,'.',',');?>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td width="378"><div align="center"><br>
<?
if($strNum==0)
{
echo "<br><center><strong><font color=red>ไม่มีรายการสั่งซื้อ</font></strong></center><br><br>";
}
?>
<input name="BtnContinute" type="button" class="button" id="BtnContinute2" value="ซื้อสินค้าต่อ" onClick="window.location='showproduct.php';">
<?
if($strNum>0)
{?>
<input name="BtnCalu" type="submit" class="button" id="BtnCalu" value="คำนวณเงินใหม่">
<input name="BtnPayment" type="button" class="button" id="BtnPayment" value="ชำระเงิน" onClick="window.location='pay.php';">
<?}?>
<br>
</div></td>
</tr>
</table>
<p class="style59"> </p>
</form>
<p class="style59">
<script language="JavaScript">
function checknum(value,fields)
{
if(!check_number(value))
{
eval("document.all."+fields+".value='1';");
alert('กรอกจำนวนไม่ถูกต้อง');
}
}
function check_number(ch){
var len, digit;
if(ch == " "){
return false;
len=0;
}else{
len = ch.length;
}
for(var i=0 ; i<len ; i++)
{
digit = ch.charat(i)
if(digit >="0" && digit <="9"){
;
}else{
return false;
}
}
return true;
}
</script></p>
<p class="style59"> </p>
<p class="style59"> </p></td>
</tr>
</table></td>
|
|
|
|
|
Date :
2011-12-19 09:08:02 |
By :
สิงห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษครับ ผมโง่เองครับ
ได้แล้วครับผม คือไปตั้งค่าใน mysqy ตรง orderid เป็น primary key ครับ เลยแอดซ้ำกันไม่ได้นั่นเอง
ขอบคุณมากนะครับ
|
|
|
|
|
Date :
2011-12-19 09:27:09 |
By :
สิงห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|