|
 |
|
อยากให้เพิ่มโดยที่สินค้าซื้อ ที่ซ้ำกัน เพิ่มแค่จำนวนสั่งซื้อ ไม่ต้องเก็บ Record ใหม่ ขอผู้ใจดีช่วยเขียน Code หน่อย |
|
 |
|
|
 |
 |
|
ถ้าต้องการใช้ Funtion การเพิ่มสินค้าในตัวอย่างบทเรียน ต้องการให้เพิ่มโดยที่สินค้าซื้อ เพิ่มแค่จำนวนสั่งซื้อ ไม่ต้องเก็บ Record ใหม่ต้องเพิ่มเตอมในส่วนไหน
File 1
Code (PHP)
<html>
<head>
<title>Shopping</title>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(ProductID,Qty) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'ShoppingCart2.php';
var pmeters = "tProductID=" + ProductID+
"&tQty=" + Qty;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById('mySpan').innerHTML = HttPRequest.responseText;
}
}
}
function CheckOut()
{
window.location = 'ShoppingCart3.php';
}
</script>
</head>
<body onLoad="JavaScript:doCallAjax('','')">
<h1>My Cart </h1>
<table width="680" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="234" valign="top">
<?
include("connect.php");
$strSQL = "SELECT * FROM product ORDER BY ProductID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
echo"<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr>";
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
echo "<td>";
?>
<img src="product/<?=$objResult["Picture"];?>" width="70" height="61" border="0">
<center>
<?=$objResult["ProductName"];?>
<br>
<?=$objResult["Price"]." Baht";?>
<br>
<input type="text" id="txt<?=$intRows;?>" value="" style="width:20px">
<input type="button" value="Add" onClick="JavaScript:doCallAjax('<?=$objResult["ProductID"];?>',document.getElementById('txt<?=$intRows;?>').value);">
</center>
<?
echo"</td>";
if(($intRows)%2==0)
{
echo"</tr>";
}
else
{
echo "<td>";
}
}
echo"</tr></table>";
?>
<?
mysql_close($con);
?>
</td>
<td width="446" valign="top"><span id="mySpan"></span></td>
</tr>
</table>
</body>
</html>
File 2
Code (PHP)
<?php
session_start();
$strProductID = $_POST["tProductID"];
$strQty = $_POST["tQty"];
include("connect.php");
if($strProductID != "" and $strQty != "")
{
$strSQL = "INSERT INTO cart ";
$strSQL .="(SID,ProductID,Qty) ";
$strSQL .="VALUES ";
$strSQL .="('".session_id()."','".$strProductID."','".$strQty."') ";
$objQuery = mysql_query($strSQL);
}
?><title>Shopping</title>
<center>
<h1>Your Cart</h1>
<table width="263" border="1" cellspacing="0" cellpadding="0">
<?
$intSumTotal = 0;
$intQtyTotal = 0;
$intRows = 0;
$strSQL = "SELECT * FROM cart WHERE SID = '".session_id()."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
$intRows ++;
//*** Product ***//
$strSQL = "SELECT * FROM product WHERE ProductID = '".$objResult["ProductID"]."' ";
$objQueryPro = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResultPro = mysql_fetch_array($objQueryPro);
$intTotal = $objResult["Qty"] * $objResultPro["Price"];
$intSumTotal = $intSumTotal + $intTotal;
$intQtyTotal += $objResult["Qty"];
?>
<?
}
?>
<tr>
<td width="139" align="right">จำนวนสินค้า</td>
<td width="118" align="right"><?=number_format($intQtyTotal,2);?></td>
</tr>
<tr>
<td align="right">Total Amount </td>
<td align="right"><?=number_format($intSumTotal,2);?></td>
</tr>
</table>
<?
if($intSumTotal > 0)
{
?>
<br><input name="btnCheckOut" type="submit" id="btnCheckOut" value="Check Out" onClick="JavaScript:CheckOut();">
<?
}
?>
</center>
Tag : PHP, MySQL

|
ประวัติการแก้ไข 2010-09-10 21:11:22
|
 |
 |
 |
 |
Date :
2010-09-09 11:10:35 |
By :
evekrub |
View :
955 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เขียนคำสั่งตรวจสอบจากตาราง cart ก่อนน่ะครับ ถ้ามีอยู่แล้วก็ให้ update แต่ถ้าไม่มีก็ให้ insert ครับ
|
 |
 |
 |
 |
Date :
2010-09-09 16:15:41 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโค๊ดนิดหนึ่งได้ไหมครับ
พอดีพึ่งศีกา Ajax ไม่ค่อยเข้าใจ Code เท่าไหร่
|
 |
 |
 |
 |
Date :
2010-09-09 19:43:50 |
By :
eve |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|

|
Load balance : Server 02
|