Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนพี่วินและพี่ๆ ช่วยตอบหน่อยครับ เพื่อเป็นแนวทางให้ผมหน่อยครับ PHP 1. ข้อความเตือนจำนวนสินค้าในสต็อกไม่แสดงออกมา 2. แล้วอยากให้ปรับเป็นจำนวนของสินค้าในสต๊อกพอดี



 

รบกวนพี่วินและพี่ๆ ช่วยตอบหน่อยครับ เพื่อเป็นแนวทางให้ผมหน่อยครับ PHP 1. ข้อความเตือนจำนวนสินค้าในสต็อกไม่แสดงออกมา 2. แล้วอยากให้ปรับเป็นจำนวนของสินค้าในสต๊อกพอดี

 



Topic : 087854

Guest




Code (PHP)
ไฟล์ show_cart.php

Code (PHP)
<?
//session_start();
ob_start();
//============ Start Session และทำการเรียก Function ติดต่อฐานข้อมูล 
session_start();

include("utility.php"); 
//	Prepare Variable
$cart = $_SESSION["cart"];



?>
<!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>
</head>
<body>


    <div align="center"><h2>ตะกร้าสินค้า</h2></div>
  <? if (sizeof($cart) > 0) { ?>
    <form action="update_cart.php" method="post">
      <table width="80%" border="1" align="center" cellpadding="5" cellspacing="1">
        <tr>
            <th width="40">ลบ</th>
            <th width="80">ลำดับที่</th>
            <th>ชื่อสินค้า</th>
            
            <th width="80">ราคา</th>
            <th width="80">จำนวน</th>
            <th width="80">ราคารวม</th>
        </tr>
        <? 
		
		   $i   = 0; 
		   $sum = 0;
		
		   foreach ($cart as $id => $item) { 
		
		
		
		   
		   
		?>
        
        <?
		
		
		
		?>
        <tr>
            <td align="center"><input type="checkbox" name="remove[]" value="<?=$id?>" /></td>
            <td align="center"><?=$i+1?></td>
            <td><?=$item["name"]?>
          
            
           
            
            <td align="right"><?=number_format($item["price"])?></td>
            <td align="center">
            		 
                     <input type="text" name="amount[<?=$id?>]" id="amount[<?=$id?>]" size="2" value="<?=$item["amount"]?>" style="text-align: right" />
            </td>
            <td align="right"><?=number_format($item["price"]*$item["amount"])?></td>
        </tr>
        <? 	$sum += $item["price"]*$item["amount"];
		    $i++;
		   } 
		?>
        <tr>
            <td colspan="5" align="right">ราคารวมทั้งหมด</td>
            <td align="right"><?=number_format($sum)?></td>
        </tr>
        <tr>
            <td align="center" colspan="6">
                <input type="button" value="กลับไปที่ผลการค้นหา" onclick="window.location='index.php'" />
                <input type="submit" value="แก้ไขสินค้าในตะกร้า" />
                <input type="button" value="ดำเนินการสั่งซื้อ" onclick="window.location='shipping_form.php';" />
            </td>
        </tr>
      </table>
    </form>
  <? } else { ?>
    <div align="center">
    	<b>ไม่มีสินค้าในตะกร้า</b><br />    
	    <a href="index.php">กลับไปที่ผลการค้นหา</a>
    </div>
  <? } ?>
</body>
</html>


Code (PHP)
ไฟล์ update.php

<?
//session_start();
include("utility.php"); 
connect_db();

session_start();



//	Prepare Variables
$removes = isset($_REQUEST["remove"]) ? $_REQUEST["remove"] : array();
$amounts = $_REQUEST["amount"];
$cart    = &$_SESSION["cart"];
$id      = $_REQUEST["id"];
            

//	Check Input


$error = "";

	


  foreach ($amounts as $amount) {
	if ($amounts == "") {
		$error .= "ไม่ระบุจำนวน<br />";
        break;
	}
	
	else if (!is_numeric($amount)) {
		$error .= "จำนวนไม่เป็นตัวเลข<br />";
        break;
	}
	
	
}

//////////////////////////
/*

if(isset($_POST["bt_edit"])){#ต้องการแก้ไขจำนวนสินค้า
	$pdid=$_POST["id"];#รหัสของสินค้าทั้งหมด(จัดเก็บไว้ในรูป Array)
	$cartRows =$_POST["cartRows"];#จำนวน Record ของแถวทั้งหมดของสินค้า(จัดเก็บไว้ในรูป Array)
	$pamount=$_POST["amount[<?=$id?>]"];#จำนวน Record ของสินค้า(จัดเก็บไว้ในรูป Array)
	for($i=0;$i<=(count($cartRows)-1);$i++){#วนลูปไปทีละแถวเพื่ออัพเดทจำนวนสินค้า
		if($pamount[$i]>0){#เอาเฉพาะจำนวนสินค้าที่มากกว่า0
			$rs_record=$connect("SELECT name,amount FROM product WHERE id=".$pdid[$i]."");
			if($pamount[$i]>$rs_record->fields[1]){#หากจำนวนที่ลูกค้าระบุมากกว่าจำนวนที่มีอยู่ในร้าน
				echo "<script>";
				echo "alert('คุณระบุจำนวนสินค้ามากกว่าจำนวนสินค้าในร้าน');";
        		echo "</script>";
				$_SESSION[$cartRows[$i]][1] = $rs_record->fields[1];#เซตจำนวนสินค้าใหม่ให้มีค่าเท่ากับจำนวนสินค้าในร้าน
			}else{#หากจำนวนสินค้าที่ลูกค้าระบุน้อยกว่าหรือเท่ากับจำนวนสินค้าที่มีอยู่ในร้าน
			 	$_SESSION[$cartRows[$i]][1] = $pamount[$i] ;  #เซตจำนวนสินค้าใหม่ให้มีค่าเท่ากับจำนวนที่ลูกค้าระบุ
			}
		}
	}

}

*/
//////////////////////////////

//	Action


if ($error == "") {

            
	//  Update
/*	
	if(trim($_POST["action"]) == "Update")
{
for($i=0;$i<count($_POST["txtQua"]);$i++)
{	
	$strP=$_POST[txtP][$i];
	$strQ=$_POST["amount"][$i];
	if($strQ <= 0)
	{
	$strQ=1;
	}

	$item["amount"][$strP]=$strQ;

	$result=select("product","where 1=1 and id='".$_SESSION["id"][$strP]."'");
	if($result["amount"] < $strQ)
	{
	$item["amount"][$strP]=$result["amount"];
									echo"<script language='JavaScript'>";
									echo"alert('รหัสสินค้ามีีจำนวน Stock ไม่เพียงพอ');";
									echo"</script>";	
	}
	
	
}	
	session_write_close();
	//============ กระโดด Refresh ใหม่อีกรอบ
	header("location:$_SERVER[PHP_SELF]");
}
*/	
	

	foreach ($amounts as $id => $amount) {
	
	
	
		$cart[$id]["amount"] = $amount;
	
	                                
									
	}



	//  Remove
	foreach ($removes as $id) {
		unset($cart[$id]);
	}
}



//	Show Result



if ($error == "") {
     
	header("location:show_cart.php");
	return;
}
else {
	$result = $error
	          . "<a href='#' onclick='history.back(); return false;'>กลับไป</a>";
}

?>
<!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>
</head>
<body>
<?=$result?>
</body>
</html>

Code (PHP)
ไฟล์ update.php

<?
.//session_start();
include("utility.php");
connect_db();
 
session_start();
 
 
 
//  Prepare Variables
$removes = isset($_REQUEST["remove"]) ? $_REQUEST["remove"] : array();
$amounts = $_REQUEST["amount"];
$cart    = &$_SESSION["cart"];
$id      = $_REQUEST["id"];
 
 
//  Check Input
 
 
$error = "";
 
 
 
 
foreach ($amounts as $amount) {
if ($amounts == "") {
$error .= "ไม่ระบุจำนวน<br />";
break;
}
 
else if (!is_numeric($amount)) {
$error .= "จำนวนไม่เป็นตัวเลข<br />";
break;
}
 
 
}
Action
 
 
if ($error == "") {
 

//  Update
 
 
foreach ($amounts as $id => $amount) {

$cart[$id]["amount"] = $amount;

}

//  Remove
foreach ($removes as $id) {
unset($cart[$id]);
}
}

//  Show Result

if ($error == "") {

header("location:show_cart.php");
return;
}
else {
$result = $error
. "<a href='#' onclick='history.back(); return false;'>กลับไป</a>";
}
 
?>
<!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>
</head>
<body>
<?=$result?>
</body>
</html>


รบกวนพี่วินและพี่ๆอีกทีครับ มันไม่แสดงข้อความบอกตอนที่กรอกจำนวนสินค้าแล้วมันเกินสต็อกครับ อยากให้มันแสดงข้อความบอกว่าจำนวนสินค้าไม่เพียงพอ แล้วให้ให้มันปรับเป็นจำนวนของสินค้าในสต๊อกพอดี ตามโค้ด show_cart.php และ update.php ต้องแทรกโค้ดยังไง อยากให้พี่ช่วยเขียนโค้ดให้ดูครัึบ โดยอ้างอิงจากไฟล์ทั้ง2 นี้ครับ (ปล.) มือใหม่เลยอยากให้พี่แทรกโค้ดตามแบบ 2 ไฟล์ นี้ให้ดูครับ ว่าแทรกตรงไหน เพื่อเป็นแนวทางต่อไป ขอบคุณมากครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-12-11 12:46:42 By : shokun_01 View : 853 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code เยอะขนาดนี้ผมไม่ดูหรอกครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-11 16:31:29 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนพี่วินและพี่ๆ ช่วยตอบหน่อยครับ เพื่อเป็นแนวทางให้ผมหน่อยครับ PHP 1. ข้อความเตือนจำนวนสินค้าในสต็อกไม่แสดงออกมา 2. แล้วอยากให้ปรับเป็นจำนวนของสินค้าในสต๊อกพอดี
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่