|
|
|
php shopping cart ติดปัญหาครับเกี่ยวกับ สั่งซื้อสินค้าแล้วให้ตัดจากสต็อก |
|
|
|
|
|
|
|
คือติดปัญหาครับ พอลูกค้าสั่งสินค้าแล้วจะให้ตัดจาก สต็อก รบกวนพี่ๆทั้งหลายช่วยดูให้หน่อยนะครับ T_T
อันนี้ฟอม
Code (PHP)
<h1>สินค้า</h1>
<?
$tx = "";
if($_GET['cat_id'])
{
$tx .= "and ( product.cate = '$_GET[cat_id]' )";
}
?>
<?
include("library/con_db.php");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$sql = "SELECT * FROM product left join catalog on (product.cate = catalog.cat_id) where 1 $tx order by product.pid desc";
$result = mysql_query($sql);
?>
<div id="mainright">
<div id="cart">
<td id="cart" align="center" bgcolor="#eeeeff">
<script>ajaxLoad('post','cart_ss.php','','cart');</script>
</td>
</div>
</div>
<?
while($p = mysql_fetch_array($result))
{?>
<div id="product">
<div id="img">
<img src="read_image.php?pid=<? echo $p['pid']; ?>" width="150" height="150"></div>
<div id="info">
<p> <p> <h4><? echo $p['product_name']; ?></h4> <P>
<? echo $p['description']; ?>
<p>
ราคา: <? echo $p['price']; ?> บาท <p>
<div style="color: red;"> คงเหลือ : <? echo $p['stock'];?> ชิ้น </div></div>
<div style="float:right;">
จำนวน <input type="text" size="3" id="<?php echo "q_{$p['pid']}"; ?>" name="<?php echo "q_{$p['pid']}"; ?>"
value="1" class="tx_qul"> หน่วย <button onclick="addCart(<?php echo $p['pid']; ?>)" class="bt_add_cart">หยิบใส่รถเข็น</button>
</div>
</div><?
}
?>
</div>
ส่งมาอันนี้ครับ
Code (PHP)
<?
session_start();
$dblink = mysql_connect("localhost","root","1234");
mysql_query("USE shopping_cart;");
mysql_query("SET NAMES utf8");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$sid = session_id();
$pid = "";
if(isset($_POST['pid'])) {
$pid = $_POST['pid'];
}
$act = "";
if(isset($_POST['act'])) {
$act = $_POST['act'];
}
$sql = "";
if($act=="add") {
$q = $_POST['q'];
$sql = <<<SQL
SELECT product_name, price FROM product
WHERE pid = $pid;
SQL;
$result = mysql_query($sql);
$pname = mysql_result($result,0,0);
$price = mysql_result($result,0,1);
$sql = <<<SQL
REPLACE INTO cart VALUES
('$sid', $pid, '$pname', $price, $q, NOW());
SQL;
}
else if($act=="del") {
$sql = <<<SQL
DELETE FROM cart
WHERE pid = $pid;
SQL;
}
else if($act=="clear") {
$sql = <<<SQL
DELETE FROM cart
WHERE sid = '$sid';
SQL;
}
mysql_query($sql);
$sql = <<<SQL
SELECT * FROM cart
WHERE sid = '$sid';
SQL;
$result = mysql_query($sql);
//header("content-type:text/; charset=utf8");
header("content-type:text/plain; charset=utf8");
if(mysql_num_rows($result)==0) {
echo "ไม่มีสินค้าในรถเข็น";
mysql_close($dblink);
exit();
}
$tb = <<<TABLE
<table width="98%" border="1" bordercolor="gray" style="border-collapse:collapse;">
<caption>รายการสินค้าในรถเข็น</caption>
<tr align="right" bgcolor="powderblue">
<th align="center">สินค้า</th><th>ราคา</th><th>#</th><th>รวม</th>
</tr>
TABLE;
$grand_total = 0;
while($cart = mysql_fetch_array($result)) {
$sub_total = $cart['price'] * $cart['quantity'];
$tbody = <<<TBODY
<tr align="right" valign="top">
<td align="left">
<div style="float:left;">
<!--
<button onclick="viewProduct({$cart['pid']})"
class="bt_cart">ดู</button>
-->
<button onclick="delCart({$cart['pid']})"
class="bt_cart">ลบ</button>
</div>
{$cart['product_name']}
</td>
<td>{$cart['price']}</td>
<td>{$cart['quantity']}</td>
<td>$sub_total</td>
</tr>
TBODY;
$tb .= $tbody;
$grand_total += $sub_total;
}
$tb .= "<tr><td align=center>รวมทั้งหมด</td><td align=right colspan=3>$grand_total</td></tr>";
$tb .= "</table>";
if(!isset($_SESSION['Username'])){
$a=" <button onclick=alert('กรุณาLogin');window.location='login.php';;>สั่งซื้อ</button> ";
} else {
$a= " <button onclick=location='customer_info.php'>สั่งซื้อ</button> ";
}
$bt = <<<BT
<p align="center">
<button onclick="clearCart()">ลบทั้งหมด</button>
{$a}
</p>
BT;
echo $tb . $bt;
foreach($q as $pid => $q)
{
$sql11 = "select * from product where pid = '$pid'";
$result11 = mysql_query($sql11) or die ("error = $sql11");
$p = mysql_fetch_array($result11);
//หาสต็อกคงเหลือ
$stock = $p['stock'];
$totalp = $stock - $q;
$sql12 = "update product set stock = '$totalp' where pid ='$pid' ";
mysql_query($sql12) or die ("error=$sql12");
}
mysql_close($dblink);
?>
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2013-02-15 22:16:01 |
By :
milkky456 |
View :
878 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error โค้ดแบบนี้ครับ
Code (PHP)
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\Project\cart_ss.php on line 128
|
|
|
|
|
Date :
2013-02-15 22:27:27 |
By :
milkky456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ยังไงดีครับพี่ คือผมจะทำโปรเจคส่งอาจาร ติดตรงนี้ไปต่อไม่ได้เลยครับ T_T
|
|
|
|
|
Date :
2013-02-17 00:19:33 |
By :
milkky456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้เขียนขึ้นมาเองเหรอครับ
ถ้าเขียนมาเอง ทำไมเขียนแบบนี้ครับ ตัวแปร q เนี่ย ดีไซน์ให้มาจากตรงไหนในฟอร์ม
|
|
|
|
|
Date :
2013-02-17 00:24:42 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้เขียนเองครับ เอาโค้ดมาอีกทีครับ ตัวแปร q คือจำนวนที่ ลูกค้าสั่งซื้อ ครับแล้วส่งไปที่ไฟล์ cart_ss อีกที
|
|
|
|
|
Date :
2013-02-17 00:27:33 |
By :
milkky456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วโค้ดเดิมนี่ มันใช้งานได้จริงหรือเปล่าครับ
ถ้าโค้ดเดิมใช้งานได้ไม่มีปัญหา แล้วปัญหาเกิดจากส่วนที่เราไปปรับแก้ ต้องขอดูส่วนนั้นครับ
แต่ถ้าโค้ดเดิมมันใช้งานไม่ได้อยู่แล้ว ก็ต้องทำใจครับ คงต้องแก้ยาว เพราะถือว่าโค้ดเดิมไม่มีคุณภาพ
|
|
|
|
|
Date :
2013-02-17 00:29:35 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|