|
|
|
ตัวแปร SESSION ใช้ไปสักพักเหมือนมันไม่เก็บค่าอ่ะครับ |
|
|
|
|
|
|
|
Code
<!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=windows-874" />
<title>Untitled Document
<meta http-equiv=Content-Type content="text/html; charset=tis-620"></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$(".css_data_item").click(function(){ // เมื่อคลิก checkbox ใดๆ
if($(this).prop("checked")==true){ // ตรวจสอบ property การ ของ
var indexObj=$(this).index(".css_data_item"); //
$(".css_data_item").not(":eq("+indexObj+")").prop( "checked", false ); // ยกเลิกการคลิก รายการอื่น
}
});
$("#form_checkbox1").submit(function(){ // เมื่อมีการส่งข้อมูลฟอร์ม
if($(".css_data_item:checked").length==0){ // ถ้าไม่มีการเลือก checkbox ใดๆ เลย
alert("NO");
return false;
}
});
});
</script>
</head>
<body>
<form action="programmer2p1.php" method="post">
<center><font size = "6"> เพิ่มใบเสนอราคา</font></center><br>
<p>วันที่</p>
<p>
<select name='sD1' id='sD1'>
<?
for($i=1;$i<=31;$i++){
$i2=sprintf("%02d",$i); // ฟอร์แมตรูปแบบให้เป็น 00
echo '<option value="'.$i2.'">'.$i2.'</option>';
}?>
</select>
<select name='sM1' id='sM1'>
<?
for($i=1;$i<=12;$i++){
$i2=sprintf("%02d",$i);
echo '<option value="'.$i2.'">'.$i2.'</option>';
}?>
</select>
<select name='sY1' id='sY1'>
<?
$xYear=date('Y'); // เก็บค่าปีปัจจุบันไว้ในตัวแปร
echo '<option value="'.$xYear.'">'.$xYear.'</option>'; // ปีปัจจุบัน
for($i=1;$i<=10;$i++){
echo '<option value="'.($xYear-$i).'">'.($xYear-$i).'</option>';
}
?>
</select>
</p>
<p>
เลขที่ใบเสนอราคา <input name="numinvoice" size=10 type="text" />
<br>
<label for="CUSTOMER">ลูกค้า</label>
<select name="CUSTOMER" id="CUSTOMER">
<option value="">เลือกรายชื่อลูกค้า</option>
<?
include("wwwconnect.php");
$sql="select* from CUSTOMER";
$result=mysql_query($sql);
$nrow=mysql_num_rows($result);
$i=0;
while($i<$nrow)
{
$row=mysql_fetch_array($result);
$id=$row[C_ID];
$name=$row[C_NAME];
echo'<option value="'.$id.'">'.$name.'</option>';
$i++;
}
?>
</select>
<br>
<label for="EMPLOYEE">พนักงาน</label>
<select name="EMPLOYEE" id="EMPLOYEE" >
<option value="">เลือกรายชื่อพนักงาน</option>
<?
include("wwwconnect.php");
$sqlem="select* from EMPLOYEE";
$resultem=mysql_query($sqlem);
$nrowem=mysql_num_rows($resultem);
$iem=0;
while($iem<$nrowem)
{
$rowem=mysql_fetch_array($resultem);
$idem=$rowem[E_ID];
$nameem=$rowem[E_NAME];
echo'<option value="'.$idem.'">'.$nameem.'</option>';
$iem++;
}
?>
</select>
</p>
<p>
<?
$sql2="SELECT * FROM `PRODUCT` GROUP BY P_CODE;";
$qsql2 = mysql_query($sql2)
?>
<table border="2" >
<tr>
<td width="17">ID </td>
<td width="38">ชื่อสินค้า</td>
<td width="77">รายละเอียดสินค้า</td>
<td width="48">สี</td>
<td width="121">จำนวนสีที่ต้องการสกรีนเพิ่ม</td>
<td width="82">จำนวนที่ต้องการ</td>
</tr>
<?
while($result2=mysql_fetch_array($qsql2))
{
?>
<tr>
<form action="programmer2p1.php" method="post">
<td><? echo $result2[P_CODE]; ?></td>
<td><? echo $result2[P_NAME]; ?></td>
<td><? echo $result2[P_DETAIL]; ?></td>
<td style="width: 5px; word-break: break-all;"><input name="color" type="text" size="8"/></td>
<td style="width: 5px; word-break: break-all;"><input name="numcolor" type="text" size="8"/> </td>
<td style="td width="82" word-break: break-all;"><input name="txtProductID" type="hidden" value="<? echo $result2["P_CODE"];?>" />
<input name="txtQty" size="10" type="text" /><input name="add" type="submit" value="add"/></td>
</form>
</tr>
<? }
?>
</table>
<p> </p>
<? $start=$_POST["add"];
if($start=="add")
{
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
if($_POST["txtQty"]>=50&&isset($_POST["color"])&&isset($_POST["numcolor"]))
{ $_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_POST["txtProductID"];
$_SESSION["strQty"][0] = $_POST["txtQty"];
$_SESSION["strnumc"][0] = $_POST["numcolor"];
$_SESSION["strcolor"][0] = $_POST["color"];
$_SESSION["strprice"][0]=0;
$_SESSION["allp"] = 0;
$_SESSION["vatis"] = 0;
}
else
{ echo"กรุณากรอกข้อมูลให้ถูกต้อง";}
}
else
{
if($_POST["txtQty"]>=50&&isset($_POST["color"])&&isset($_POST["numcolor"]))
{
$key = array_search($_POST["txtProductID"], $_SESSION["strProductID"]);
if((string)$key != ""&& $_SESSION["strnumc"][$key]==$_POST["numcolor"]&& $_SESSION["strcolor"][$key]==$_POST["color"])
{
$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + $_POST["txtQty"];
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_POST["txtProductID"];
$_SESSION["strQty"][$intNewLine] = $_POST["txtQty"];
$_SESSION["strnumc"][$intNewLine] = $_POST["numcolor"];
$_SESSION["strcolor"][$intNewLine] = $_POST["color"];
$_SESSION["strprice"][$intNewLine] = 0;
}
}
}
}
if(isset($_SESSION["intLine"]))
{
echo "รายการสินค้าที่สั่ง";
?>
<br>
<table border='2'>
<tr>
<td>ID </td>
<td>สี</td>
<td>จำนวนสีที่ต้องการสกรีนเพิ่ม</td>
<td>จำนวนที่ต้องการ</td>
<td>ราคา</td>
</tr>
<? $i=0;
$allp=0;
$row= $_SESSION["intLine"];
while($i<=$row)
{
?>
<tr>
<td><? echo $_SESSION["strProductID"][$i] ;?></td>
<td><? echo $_SESSION["strcolor"][$i] ;?></td>
<td><? echo $_SESSION["strnumc"][$i] ;?></td>
<td><? echo $_SESSION["strQty"][$i] ;?></td>
<td><?
$idpro=$_SESSION["strProductID"][$i];
$sqlp = "select* from PROMOTION where PRODUCT_P_CODE='$idpro'";
$qsqlp = mysql_query($sqlp);
$skin=$_SESSION["strnumc"][$i];
$beqty;
$beskin;
$benoskin;
$price=0;
$num=$_SESSION["strQty"][$i];
while($resultp=mysql_fetch_array($qsqlp))
{
//echo "$resultp[PR_QTY] <br>";
if($resultp[PR_QTY]>(int)$num)
{
// echo"beqty is $beqty <br>";
if($skin!=0)
{
// echo "tt is $result2[PR_PRI] <br>";
$price=(($beqty+(($skin)*$beskin))*$num);
break;
}
if($skin==0)
{
$price=(($beqty+$benoskin)*$num);
break;
}
}
$beqty=$resultp[PR_PRI];
$beskin=$resultp[PR_SKIN];
$benoskin=$resultp[PR_NOSKIN];
}
$allp+=$price;
$_SESSION["strprice"][$i]=$price;
echo $_SESSION["strprice"][$i];
?></td>
</tr>
<?
$i++;
}
?>
</table>
<?
$vat=($allp*0.07);
$_SESSION["allp"] = $allp;
$_SESSION["vatis"]=$vat;
$VaP=$allp+$vat;
echo "ราคารวม $allp <br>" ;
echo "ราคารวม vat $VaP <br> " ;
echo $_SESSION["intLine"];
}
?>
เลือกประเภทการชำระเงิน.<br>
<input type="checkbox" name="cradit" value="Red" class="css_data_item">เครดิต 30 วัน <br>
<input type="checkbox" name="down" value="Blue" class="css_data_item">มัดจำ <input name="downv" size="5" type="text" /> %<br>
<input name="btnSubmit" type="submit" value="Submit">
<input name="ERER" type="submit" value="clear"/>
</form>
<?
$cc=$_POST["ERER"];
$suball=$_POST["btnSubmit"];
if($cc=="clear")
{
session_start();
session_destroy();
echo $cc;
}
if($suball=="Submit")
{
echo"<br> vat is $vat <br>";
$invoidid=$_POST["numinvoice"];
$inem=$_POST["EMPLOYEE"];
$incus= $_POST["CUSTOMER"];
$cra=$_POST["cradit"];
$dow=$_POST["down"];
if($invoidid!="")
{
if($cra=="Red")
{
$vcra=30;
$vdown=0;
}
if($dow=="Blue")
{
$vcra=0;
$vdown=$_POST["downv"];
}
ob_start();
session_start();
$sqlsuball="insert into INVOICE (IN_ID,CUSTOMER_C_ID,EMPLOYEE_E_ID,IN_PAYMENT,IN_DOWN,IN_CREDIT,IN_TOTALPRICE)values('$invoidid','$incus','$inem','".$_SESSION["vatis"]."','$vcra','$vdown','".$_SESSION["allp"]."')";
mysql_query($sqlsuball);
$jj=0;
$k=$_SESSION["intLine"];
echo "k is $k";
while($jj<=(int)$_SESSION["intLine"])
{
$sqlline="insert into LINE (L_P_CODE,L_INVOICE,L_AMOUNT,L_NCOLOR,L_COL)values('".$_SESSION["strProductID"][$jj]."','$invoidid','".$_SESSION["strprice"][$jj]."','".$_SESSION["strnumc"][$jj]."','".$_SESSION["strcolor"][$jj]."')";
mysql_query($sqlline);
$jj++;
}
echo "ดำเนินการเสร็จสิ้น";
session_destroy();
}
else
echo "กรุณากรอกข้อมูลให้ครบถ้วน";
}
?>
</p>
</body>
</html>
ตามโค้ดอ่ะครับมีปัญหาตรงตัวแปร session ที่เป็น array บางครั้งมันเหมือน seesison array ไม่เก็บค่า บางครั้งก็ปกติดี
คือผมจะหัดทำเว็บประมาณนี้อ่ะครับ https://www.thaicreate.com/free-web-script/php-shopping-cart-session-array.html
ขอบคุณครับ
Tag : PHP, HTML/CSS
|
|
|
|
|
|
Date :
2016-11-25 04:07:11 |
By :
tosukoi |
View :
1630 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่าลืมคำสั่ง session_start();
ต้องสั่งใช้งานก่อน การส่งข้อมูลทุกอย่างไปยัง client
|
|
|
|
|
Date :
2016-11-25 06:35:34 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่ไปสั่งยกเลิก หรือทำลายมัน แล้วทำถูกวิธี กำหนดค่า ใส่ค่าลงไปให้มัน ไม่น่าจะหายครับ
ลืมอะไรตรงขั้นตอนไหนหรือเปล่า
แล้วเขียน <?php เต็มๆไปเลยครับสั้นๆ อย่าไปใช้ <?
|
|
|
|
|
Date :
2016-11-25 08:58:51 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|