|
|
|
การส่ง SESSION สามารถกำหนด ให้ $i++ ไม่เกิน 10 ต่อ 1 รายการได้ไหมครับ |
|
|
|
|
|
|
|
สามารถกำหนด session ให้ไม่เกิน 10 รายการต่อ 1 บิล ได้ไหมครับ ถ้าได้ต้องเพิ่มอย่างไรครับผม รบกวนขอวิธีการ แนะนำให้ผมทีครับ
ผมใช้ Code ของ thaicreate ครับ
ขอบคุณครับผม
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$objCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
if (!$objCon) {
echo $objCon->connect_error;
exit();
}
$strSQL = "SELECT * FROM product";
$objQuery = mysqli_query($objCon,$strSQL);
if(!$objQuery)
{
echo $objCon->error;
exit();
}
?>
<table width="327" border="1">
<tr>
<td width="101">Picture</td>
<td width="101">ProductID</td>
<td width="82">ProductName</td>
<td width="79">Price</td>
<td width="37">Cart</td>
</tr>
<?php
while($objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC))
{
?>
<tr>
<td><img src="img/<?php echo $objResult["Picture"];?>"></td>
<td><?php echo $objResult["ProductID"];?></td>
<td><?php echo $objResult["ProductName"];?></td>
<td><?php echo $objResult["Price"];?></td>
<td><a href="order.php?ProductID=<?php echo $objResult["ProductID"];?>">Order</a></td>
</tr>
<?php
}
?>
</table>
<br><br><a href="show.php">View Cart</a> | <a href="clear.php">Clear Cart</a>
<?php
mysqli_close($objCon);
?>
</body>
</html>
<?php /* This code download from www.ThaiCreate.Com */ ?>
order.php
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_GET["ProductID"];
$_SESSION["strQty"][0] = 1;
header("location:show.php");
}
else
{
$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
if((string)$key != "")
{
$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
$_SESSION["strQty"][$intNewLine] = 1;
}
header("location:show.php");
}
?>
show.php
<?php
session_start();
?>
<html>
<head>
<title>ThaiCreate.Com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?php
if(!isset($_SESSION["intLine"]))
{
echo "Cart Empty";
exit();
}
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$objCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
if (!$objCon) {
echo $objCon->connect_error;
exit();
}
?>
<table width="400" border="1">
<tr>
<td width="101">ProductID</td>
<td width="82">ProductName</td>
<td width="82">Price</td>
<td width="79">Qty</td>
<td width="79">Total</td>
<td width="10">Del</td>
</tr>
<?php
$Total = 0;
$SumTotal = 0;
for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
{
if($_SESSION["strProductID"][$i] != "")
{
$strSQL = "SELECT * FROM product WHERE ProductID = '".$_SESSION["strProductID"][$i]."' ";
$objQuery = mysqli_query($objCon,$strSQL);
$objResult = $objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC);
$Total = $_SESSION["strQty"][$i] * $objResult["Price"];
$SumTotal = $SumTotal + $Total;
?>
<tr>
<td><?=$_SESSION["strProductID"][$i];?></td>
<td><?=$objResult["ProductName"];?></td>
<td><?=$objResult["Price"];?></td>
<td><?=$_SESSION["strQty"][$i];?></td>
<td><?=number_format($Total,2);?></td>
<td><a href="delete.php?Line=<?=$i;?>">x</a></td>
</tr>
<?php
}
}
?>
</table>
Sum Total <?php echo number_format($SumTotal,2);?>
<br><br><a href="product.php">Go to Product</a>
<?php
if($SumTotal > 0)
{
?>
| <a href="checkout.php">CheckOut</a>
<?php
}
?>
<?php
mysqli_close($objCon);
?>
</body>
</html>
Tag : PHP, MySQL, Ajax, jQuery
|
|
|
|
|
|
Date :
2018-03-06 13:37:50 |
By :
ncompon |
View :
1073 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไฟล์ order.php
แก้โค๊ดเปนแบบนี้ครับ
Code (PHP)
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_GET["ProductID"];
$_SESSION["strQty"][0] = 1;
header("location:show.php");
}
else
{
$count=0;
for($i=0; $i<=count($_SESSION["strQty"])-1; $i++){
$count=$count+$_SESSION["strQTY"][$i]+1;
}
if($count==10){
echo"<script>alert('ได้สูงสุดแค่ 10 ชิ้นต่อบิล');
window.location='show';
</script>";
exit();
}
$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
if((string)$key != "")
{
$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
$_SESSION["strQty"][$intNewLine] = 1;
}
header("location:show.php");
}
?>
|
ประวัติการแก้ไข 2018-03-06 15:06:52
|
|
|
|
Date :
2018-03-06 15:06:27 |
By :
windermanes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองเอาไปรันดูแล้วครับผม มันยังเกิน 10 รายการได้ครับผม รบกวนทีครับผม ขอบคุณล่วงหน้าครับผม
|
|
|
|
|
Date :
2018-03-06 16:17:11 |
By :
ncompon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_GET["ProductID"];
$_SESSION["strQty"][0] = 1;
header("location:show.php");
}
else
{
if((array_sum($_SESSION["strQty"])+1) > 10){
// จะสั่งให้ทำอะไรก็ใส่โค้ดตรงนี้ เมื่อจำนวนเกิน 10 ชิ้น
echo "จำนวนสินค้าเกิน 10 ชิ้น";
exit();
}
$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
if((string)$key != "")
{
$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
$_SESSION["strQty"][$intNewLine] = 1;
}
header("location:show.php");
}
?>
|
|
|
|
|
Date :
2018-03-06 17:08:52 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอขอบคุณทุกๆท่านมากเลยครับผม ได้แล้วครับ
|
|
|
|
|
Date :
2018-03-06 20:27:31 |
By :
ncompon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอสอบถามเพิ่มเติมทีครับผม ถ้าจะให้ สามารถซื้อได้แค่ ชนิดละ 1 ชิ้น เท่านั้น จะต้องใส่โค๊ด ดักไว้ อย่างไรครับ
ขอบคุณครับผม
order.php
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_GET["ProductID"];
$_SESSION["strQty"][0] = 1;
header("location:show.php");
}
else
{
if((array_sum($_SESSION["strQty"])+1) > 10){
echo "จำนวนสินค้าเกิน 10 ชิ้น";
exit();
}
$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
if((string)$key != "")
{
$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
$_SESSION["strQty"][$intNewLine] = 1;
}
header("location:show.php");
}
?>
|
ประวัติการแก้ไข 2018-03-07 10:49:24 2018-03-07 10:49:28 2018-03-07 10:49:57
|
|
|
|
Date :
2018-03-07 10:48:28 |
By :
ncompon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"][0] = $_GET["ProductID"];
$_SESSION["strQty"][0] = 1;
header("location:show.php");
}
else
{
if((array_sum($_SESSION["strQty"])+1) > 10){
echo "จำนวนสินค้าเกิน 10 ชิ้น";
exit();
}
$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
if((string)$key != "")
{
echo"ซื้อได้แค่อย่างละ 1 ชิ้น";
exit();
}
else
{
$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
$intNewLine = $_SESSION["intLine"];
$_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
$_SESSION["strQty"][$intNewLine] = 1;
}
header("location:show.php");
}
?>
|
|
|
|
|
Date :
2018-03-07 12:55:01 |
By :
windermanes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆ ครับผม
|
|
|
|
|
Date :
2018-03-07 18:29:31 |
By :
ncompon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|