|
|
|
รบกวนช่วยดูให้หน่อยค่ะ การตัดจำนวนสต๊อก เหลือแค่ตรงนี้งานก็จะเสร็จแล้วค่ะ ช่วยหน่อยค่ะ |
|
|
|
|
|
|
|
ตอนนี้ต้องส่งภายในวันที่3 ช่วยดูให้หน่อยนะค่ะ
ถ้าเราต้องการให้ตัดจำนวนของสินค้าในฐานข้อมูล ตามจำนวนที่สั่งอ่าค่ะ จะต้องทำยังไง
แล้วจะตรวจให้ลูกค้ารู้ได้ไง ในกรณีที่สินค้ามี1 ชิ้น แต่ลูกค้าเลือก2ชิ้น จะเตือนยังไง
ช่วยหน่อยนะค่ะ ที่นี่เป็นความหวังสุดท้ายแล้ว
จากไฟล์ pro_order2
Code (PHP)
<?session_start();?>
<?php
require("auth.inc.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ร้าน</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body onload="document.a.username.focus();">
<div id="templatemo_container">
<div id="templatemo_header"></div>
<!-- end of header -->
<div id="templatemo_menu">
<ul>
<li><a href="index2.php" class="current">หน้าแรก</a></li>
<li><a href="index2.php">รายการสินค้า</a></li>
<li><a href="search.php">ค้นหาสินค้า</a></li>
<li><a href="basket.php">ตะกร้าสินค้า</a></li>
<li><a href="cus_order_detail.php">ใบสั่งซื้อ</a></li>
<li><a href="payform.php">แจ้งการโอนเงิน</a></li>
<li><a href="bbook6.php">ขั้นตอนสั่งซื้อ</a></li>
<li><a href="bbook8.php" class="last">ติดต่อ</a></li>
</ul>
</div> <!-- end of menu -->
<div id="templatemo_content">
<div id="content_left">
<div class="content_left_section">
<div class="content_left_section_title">ข้อมูลการเข้าระบบ</div>
<div class="content_left_section_content2">
<Form action="login.php" method=post name=a>
<center>
<TABLE>
<tr><td>
<?php
require("auth.inc.php");
echo "<center>Welcome <b>" . $_SESSION['ses_user'] . "</b><br>";
echo " Login เข้ามาล่าสุดเมื่อ <b>" . $_SESSION['last_log'] . "</b>";
?>
</td></tr></TABLE></center>
</form>
<br>
<center><br><a href=updateform.php>แก้ไขข้อมูลส่วนตัว</a><br>
<a href=logoff.php>ออกจากระบบ</a></center><br>
<div class="cleaner"> </div>
</div>
<div class="cleaner"> </div>
<div class="content_left_section_bottom"> </div>
</div>
<div class="margin_bottom_20"> </div>
<div class="content_left_section">
<div class="content_left_section_title">ประเภทสินค้า</div>
<div class="content_left_section_content">
<?php include"connect.php";
include"type_list.php";
?>
</div>
<div class="content_left_section_bottom"> </div>
</div>
<div class="margin_bottom_20"> </div>
<div class="content_left_section">
<div class="content_left_section_title">ตรวจสอบการจัดส่งสินค้า</div>
<div class="content_left_section_content">
<a href="http://track.thailandpost.com/trackinternet/Default.aspx?lang=th"><img style="border:0;width:160px;height:40px" src="images/logopost.jpg" alt="logopost" width="120" height="35" vspace="8" border="0" /></a>
</div>
<div class="cleaner"> </div>
<div class="content_left_section_bottom"> </div>
</div>
<div class="margin_bottom_20"> </div>
<div class="content_left_section_ad">
<img src="images/templatemo_ad.jpg" alt="image" />
</div>
</div> <!-- end of content left -->
<div id="content_right">
<div class="right_col_section_w650">
<div class="header_01"></div>
<h3>
<?php session_start();?>
<?
$username2 = trim($_POST['username2']);
$name=$_POST[name];
$email=$_POST[email];
$tel=$_POST[tel];
$address2=$_POST[address2];
$total_order=$_POST[total_order];
$status_id=$_POST[status_id]=1;
if ( strlen($name=="") ) {
echo "<script>alert('กรุณากรอก [ ชื่อ - นามสกุล ]');window.location = 'pro_order.php';</script>";
exit;
}
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<script>alert('กรุณากรอก [ อีเมล์ให้ถูกต้อง ]');window.location = 'pro_order.php';</script>";
exit;
}
if ( strlen($tel=="") ) {
echo "<script>alert('กรุณากรอก [ เบอร์ติดต่อของท่าน ]');window.location = 'pro_order.php';</script>";
exit;
}
if ( strlen($address2=="") ) {
echo "<script>alert('กรุณากรอก [ ที่อยู่ของท่าน ]');window.location = 'pro_order.php';</script>";
exit;
}
$date_now=date("y-m-d");
include "connect.php";
$sql="insert into order2 values(null,'$username2','$name','$email','$tel','$address2','$total_order','$date_now','$status_id')";
mysql_db_query($dbname,$sql);
$sql2="select max(order_id) from order2";
$result2=mysql_db_query($dbname,$sql2);
$row=mysql_fetch_row($result2);
for($i=0;$i<count($sess_id);$i++){
$sql3="insert into order_detail values('$row[0]','$sess_bb[$i]','$sess_num[$i]','$sess_price[$i]')";
mysql_db_query($dbname,$sql3);
}
session_unregister("sess_id");
session_unregister("sess_bb");
session_unregister("sess_name");
session_unregister("sess_price");
session_unregister("sess_num");
echo "<script>alert('บันทึกรายการสั่งซื้อเรียบร้อยแล้ว');window.location</script>";
mysql_close();
?>
</h3> <br>
<br><br>
<center><h2>รายการสินค้าที่สั่งซื้อ</h2></center><br>
<h3>
<table width="600" border="1">
<tr bgcolor="#678c0d">
<td width="7%"><center><b>ลำดับ</b></center></td>
<td width="55%"><center><b>ชื่อสินค้า</b></center></td>
<td width="6%"><center><b>จำนวน</b></center></td>
<td width="10%"><center><b>ราคา</b></center></td>
<td width="12%"><center><b>รวม</b></center></td>
</tr>
<?php
for($i=0;$i<count($sess_id);$i++){
$total_unit=$sess_num[$i]*$sess_price[$i];
$total=$total+$total_unit;
$id_pro = $rs[pro_id];
$code = sprintf("%05d",$sess_id[$i]);
$no++;
echo"
<tr>
<td><center>$no</center></td>
<td>$sess_name[$i]</td>
<td><center>$sess_num[$i]</center></td>
<td><center>$sess_price[$i]</center></td>
<td><center>$total_unit</center></td>
</tr>";
}
?>
</table><br>
<center>
<?php echo "จำนวนเงินทั้งหมด $total บาท";?> </h3><br><br><br>
<input type="hidden" name="total_order" value="<?=$total?>">
</center>
</form>
<br><br><center><h3>*หมายเหตุ = กรุณารอรับอีเมล์จากทางร้าน เพื่อแจ้งยอดการชำระที่แน่นอนก่อนชำระเงินค่ะ</h3></center>
<br><br>
</div>
</div> <!-- end of right_col_section_w220 -->
</div> <!-- end of content right -->
<div class="cleaner"> </div>
</div> <!-- end of container -->
</div> <!-- end of container -->
</body>
</html>
มันต้องใช้คำสั่งประมาณนี้ใช่มั๊ยค่ะ
แต่ไม่รู้ว่าต้องใส่ไว้ อะไรยังไง ตรงไหน ช่วยแนะนำทีค่ะ
Code (PHP)
<?php
for($i=0;$i<count($sess_id);$i++){
$result = mysql_query("update product set pro_num = pro_num - '$sess_num[$i]' where pro_id = '$sess_bb[$i]'");
}
?>
ลองทำแล้วแต่ทำไม่ได้ค่ะ ช่วยหน่อยค่ะ T_T
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2011-03-01 20:44:12
|
|
|
|
|
Date :
2011-03-01 20:40:36 |
By :
nu44 |
View :
1592 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากโค้ดตัดเฉพาะส่วนที่มีปัญหามาให้ดูค่ะ
อธิบายไว้ในโค้ดแล้วนะค่ะ ขอบคุณมากๆๆๆๆค่ะ
Code (PHP)
<?php session_start();?>
<?
$username2 = trim($_POST['username2']);
$name=$_POST[name];
$email=$_POST[email];
$tel=$_POST[tel];
$address2=$_POST[address2];
$total_order=$_POST[total_order];
$status_id=$_POST[status_id]=1;
$order_send=$_POST[order_send];
$pro_id=$_POST[sess_bb];
if ( strlen($name=="") ) {
echo "<script>alert('กรุณากรอก [ ชื่อ - นามสกุล ]');window.location = 'pro_order.php';</script>";
exit;
}
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<script>alert('กรุณากรอก [ อีเมล์ให้ถูกต้อง ]');window.location = 'pro_order.php';</script>";
exit;
}
if ( strlen($tel=="") ) {
echo "<script>alert('กรุณากรอก [ เบอร์ติดต่อของท่าน ]');window.location = 'pro_order.php';</script>";
exit;
}
if ( strlen($address2=="") ) {
echo "<script>alert('กรุณากรอก [ ที่อยู่ของท่าน ]');window.location = 'pro_order.php';</script>";
exit;
}
$date_now=date("y-m-d");
include "connect.php";
$sql="insert into order2 values(null,'$username2','$name','$email','$tel','$address2','$total_order','$date_now','$status_id','$order_send')";
mysql_db_query($dbname,$sql);
$sql2="select max(order_id) from order2";
$result2=mysql_db_query($dbname,$sql2);
$row=mysql_fetch_row($result2);
for($i=0;$i<count($sess_id);$i++){
$sql3="insert into order_detail values('$row[0]','$sess_bb[$i]','$sess_num[$i]','$sess_price[$i]')";
mysql_db_query($dbname,$sql3);
}
//ตรงที่มีปัญหา เหมือนมันไม่ดึงค่า'$sess_num[$i]' กับ '$sess_bb[$i]' มาอ่ะค่ะ
$result = mysql_query("update product set pro_num = pro_num - '$sess_num[$i]' where pro_id = '$sess_bb[$i]'");
//ถ้าลองใส่ค่าตรงตัวไปมันตัดค่ะ ตัดที่รหัสสินค้าเลข 10 และลบออกไป1
//$result = mysql_query("update product set pro_num = pro_num - 1 where pro_id = '10'");
session_unregister("sess_id");
session_unregister("sess_bb");
session_unregister("sess_name");
session_unregister("sess_price");
session_unregister("sess_num");
echo "<script>alert('บันทึกรายการสั่งซื้อเรียบร้อยแล้ว');window.location</script>";
mysql_close();
?>
|
|
|
|
|
Date :
2011-03-01 23:44:00 |
By :
nu44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sess_num กับ $sess_bb[$i] เป็น session หรอครับ
ลองใช้
Code (PHP)
$_SESSION['sess_num'][$i]
$_SESSION['sess_bb'][$i]
แทนนะ
Code (PHP)
"update product set pro_num = pro_num - '$sess_num[$i]' where pro_id = '$sess_bb[$i]'"
ใช้นี่แทน
Code (PHP)
"update product set pro_num = pro_num - " . $_SESSION['sess_num'][$i] . " where pro_id = " . $_SESSION['sess_bb'][$i]
|
|
|
|
|
Date :
2011-03-02 02:42:08 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ทำได้แล้วค่ะ
พี่ค่ะ หนูขอถามอีกเรื่อง คือ ที่เช็คจำนวนในสต๊อกอ่าค่ะ
กรณีที่ลูกค้าสั่งเกินจำนวนที่เราที่อยู่ในสต๊อกให้แจ้งว่า "สินค้าไม่เพียงพอ" เราจะเทียบไว้ที่ไหนอ่าค่ะ
แล้วใช้คำสั่งอะไรยังไง
หน้าที่ให้ลูกค้ากรอกจำนวนสินค้าที่ต้องการซื้อ ดึงมาเฉพาะส่วนที่เกี่ยวข้อง
basket.php
Code (PHP)
<div class="header_01">ตะกร้าสินค้า</div>
<h3>
<?
include ("connect.php");
?> </TD>
<TD WIDTH="580" VALIGN="top">
<?
if (count($sess_id)==0) {
echo "<center>ยังไม่สินค้าอยู่ในตะกร้าค่ะ</center> <BR>";
} else {
?>
<FORM METHOD="post" ACTION="basket_cal.php">
<TABLE WIDTH="100%" BORDER="1">
<TR BGCOLOR="#678c0d">
<TD WIDTH="6%" bgcolor="#678c0d"><CENTER><B>ลบ</B></CENTER></TD>
<TD WIDTH="60%" bgcolor="#678c0d"><CENTER><B>ชื่อสินค้า</B></CENTER></TD>
<TD WIDTH="12%" bgcolor="#678c0d"><CENTER><B>จำนวน </B></CENTER></TD>
<TD WIDTH="10%" bgcolor="#678c0d"><CENTER><B>ราคา</B></CENTER></TD>
<TD WIDTH="12%" bgcolor="#678c0d"><CENTER><B>รวม</B></CENTER></TD>
</TR>
<?
for ($i=0;$i<count($sess_id);$i++) {
$total_unit=$sess_num[$i]*$sess_price[$i];
$total=$total+$total_unit;
echo "
<TR>
<TD><CENTER>
<INPUT TYPE='checkbox' NAME='pro_del[]' VALUE='$sess_id[$i]'>
</CENTER></TD>
<TD>$sess_name[$i]</TD>
<TD><CENTER>
<INPUT TYPE='text' NAME='number[]' VALUE='$sess_num[$i]' SIZE='4' >
</CENTER></TD>
<TD><CENTER>$sess_price[$i]</CENTER></TD>
<TD><CENTER>$total_unit</CENTER></TD>
</TR>";
}
?>
</TABLE><br>
<center>
<? echo "จำนวนเงินทั้งหมด $total บาท"; ?><br><br>
<input type="button" value="ซื้อสินค้าต่อ" onClick="window.location='index2.php';">
<INPUT TYPE="submit" NAME="calculate" VALUE="คำนวณใหม่">
<INPUT TYPE="submit" NAME="complete" VALUE="สั่งซื้อสินค้า">
</center>
</FORM>
<?
}
?>
</h3>
</div>
หน้าbasket_cal.php
Code (PHP)
<?
session_start();
if (count($pro_del)==0) {
$pro_del=array();
}
for ($i=0;$i<count($sess_id);$i++) {
if (!in_array($sess_id[$i],$pro_del)) {
$temp_id[]=$sess_id[$i];
$temp_name[]=$sess_name[$i];
$temp_price[]=$sess_price[$i];
$temp_num[]=$number[$i];
}
}
$sess_id=$temp_id;
$sess_name=$temp_name;
$sess_price=$temp_price;
$sess_num=$temp_num;
if ($calculate) {
header("Location: basket.php");
} else if ($complete) {
header("Location: pro_order.php");
}
?>
ตาราง product
pro_id
pro_name
type_id
pro_detail
pro_price
pro_num จำนวนสินค้าที่มีอยู่
pro_photo
คือมันต้องเอาไปเทียบระหว่างว่าไม่ให้$sess_num[$i] > pro_num
แล้วไม่รู้ว่าต้องเอาไปเทียบตรงไหน แล้วเขียนประมาณไหนอ่าค่ะ
ช่วยหน่อยนะค่ะ
.
|
ประวัติการแก้ไข 2011-03-02 13:24:47
|
|
|
|
Date :
2011-03-02 13:23:14 |
By :
nu44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สิ่งที่ต้องการประมาณนี้หรือเปล่า www.metinshop.com/store พึ่งทำเสร็จ user :admin pass: admin
[email protected]
|
|
|
|
|
Date :
2011-03-02 15:57:24 |
By :
แดง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังทำไม่ได้เลยค่ะ จาก No. 4
ช่วยหน่อยนะค่ะ ลองทำดูจนไม่รู้ทำไงแล้วค่ะ
ช่วยหน่อยค่ะ ให้มันแจ้งเตือนเวลาที่ลูกค้าใส่จำนวนสินค้ามากกว่าจำนวนสินค้าที่มีอยู่ในฐานข้อมูล
ขอบคุณค่ะ
|
|
|
|
|
Date :
2011-03-02 23:22:16 |
By :
nu44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($re[count_sp] < $countSp[$k]) {
echo"<br><br><center><font color=red><H3>ไม่สามารถเบิกได้เนื่องกจากจำนวนในสต๊อกไม่พอ</H3></font></center>";
echo"<meta http-equiv='refresh' content='3;URL=form_paysparepart.php'>"; exit;
}
|
|
|
|
|
Date :
2011-03-03 00:02:27 |
By :
แดง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วเราจะต้องเอาไปแทรกไว้ตรงส่วนไหนของโค้ดหน้าbasket_cal.php อ่ะค่ะ
|
|
|
|
|
Date :
2011-03-03 00:11:49 |
By :
nu44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนค่าดูแล้วมันไม่ออกอ่าค่ะ
|
|
|
|
|
Date :
2011-03-03 00:24:59 |
By :
nu44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|