รบกวนช่วยดูโค้ด แจ้งเตือนสินค้าเกินสต็อก ให้หน่อยคะ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา รบกวนช่วยดูโค้ด แจ้งเตือนสินค้าเกินสต็อก ให้หน่อยคะ

รบกวนช่วยดูโค้ด แจ้งเตือนสินค้าเกินสต็อก ให้หน่อยคะ
รบกวนช่วยดูโค้ด แจ้งเตือนสินค้าเกินสต็อก ให้หน่อยคะ ว่าผิดตรงไหน
เพราะไม่ว่าจะใส่สินค้าเกินจำนวนสต็อกหรือไม่เกิน มันก็แจ้งเตือนเป็น ท่านกรอกสินค้าเกินจำนวน เหมือนมันจะไม่ได้เข้าไปเช็คในสต็อกก่อนคำนวณ

function calculate_price(){ //คำนวณราคาสินค้า
   $dbcon = connect_db();	
   $sql3 = "SELECT bStock FROM tbbook WHERE bId='".$arrItems[$i]."'";
   $resultsql = mysqli_query($dbcon,$sql3);
	$a = mysqli_fetch_array($resultsql,MYSQL_ASSOC);
	$stock =$a["bStock"];
	$arrquality = explode("|",  $_SESSION["quality"] ) ;
	  if($arrquality >$stock){
	             	process_message("สั่งซื้อสินค้าเกินจำนวน","shopping_process1.php");
	}else if($arrquality <=$stock){
	       $arrData = $_POST["qualty"];
	       $_SESSION["quality"] = NULL;
	        for($i=0 ; $i < count($arrData) ; $i++ ){
		  if($i == 0){
		       $_SESSION["quality"] = $arrData[$i];
                      	process_message("คำนวนสินค้าเรียบร้อยแล้ว","shopping_process1.php");
		  }else{
		       $_SESSION["quality"] = $_SESSION["quality"] ."|".$arrData[$i];
		  }
	  }
	}
}


Porn111517 26-09-2014 23:24:16

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 11
ดูการใช้งานฟังก์ชั่นอย่างง่าย 

<?php
// แบบง่าย ส่งท้งจำนวนที่สั่ง และจำนวนสต็อก
function check_stock($qty,$stock){
	if($qty>$stock){
		echo "สั่งซื้อสินค้าเกินจำนวน";
	}else{
		echo "คำนวนสินค้าเรียบร้อยแล้ว";
	}
}

check_stock(1,3);  
// ผลลัพธ์ "คำนวนสินค้าเรียบร้อยแล้ว"

check_stock(4,3);  
// ผลลัพธ์ "สั่งซื้อสินค้าเกินจำนวน";
?>
 
 
<?php
// แบบง่าย ส่งค่าเฉพาะจำนวนที่สั่ง และไอดีสินค้า  ส่วนสต้อกคำนวณในฟังก์ชั่น
function check_stock($qty,$proID){
    $dbcon = connect_db();     
    $sql3 = "SELECT bStock FROM tbbook WHERE bId='".$proID."'";  
    $resultsql = mysqli_query($dbcon,$sql3);  
    $a = mysqli_fetch_array($resultsql,MYSQL_ASSOC);  
    $stock =$a["bStock"];      
	if($qty>$stock){
		echo "สั่งซื้อสินค้าเกินจำนวน";
	}else{
		echo "คำนวนสินค้าเรียบร้อยแล้ว";
	}
}

check_stock(1,$proID);  
?>
 
 
ค่า $qty ต้องเป็นค่าที่เราส่งเข้าไป 
ส่วนโค้ดที่ถามมา เขียนผิดรูปแบบ เพราะไม่มีการส่งค่าเข้าไปในฟังก์ชั่น 
 
ดูโค้ดง่าย
 
<?php
session_start();
$_SESSION['ddd']=2;
$i=1;
function ddd(){
    echo $i;
    echo "<br>";    
    echo $_SESSION['ddd'];
}
echo "<br>";
ddd();
?>
 
ค่า $i จะไม่ถูกแสดง เพราะเราไม่ได้ส่งค่าเข้าไป 
ส่วนค่า $_SESSION['ddd'] จะแสดงถึงแม้จะไม่ได้มีการส่งค่าเข้าไป
 
ส่วนจากคำถาม การเทียบค่า
 
$arrquality = explode("|",  $_SESSION["quality"] ) ;  
      if($arrquality >$stock){  
      
      แบบนี้ก็ไม่ถูกต้อง $arrquality จะเป็นตัวแปร array จะไม่สามารถ
      เอาไปเทียบค่ามากกว่า น้อยกว่า ตามโค้ดที่ใช้ได้
      
      รูปแบบการเขียนโค้ดผิดหลายที่หลายจุด ลองไล่ดู และทำความเข้าใจอีกที



ninenik 28-09-2014
 ความคิดเห็นที่ 12
งั้นถามอีกแบบนึงคะ
พอลองตรวจสอบ var_dump ค่า $quality1 ออก  แต่ค่า $stock1 ไม่ออก
select ไม่ถูกหรือยังไงคะ 



$dblink = connect_db() ;  

$sql3 = "SELECT productStock FROM tblproducts ";;

	$stock1 = $row["productStock"]; //จำนวนใน Stock
	$quality1 = $_SESSION["quality"]  ;//จำนวนสั่งซื้อ
	
	var_dump($stock1,$quality1);
	
	 if($stock1 < $quality1 ){
	             	process_message("สั่งซื้อสินค้าเกินจำนวน สินค้ามี  " .$stock1.  " ชิ้น จำนวนที่สั่งซื้อคือ ". $quality1." ", "shopping_process1.php");
					
	}
}


porn111517 29-09-2014 20:41
 ความคิดเห็นที่ 13


ใช้ ถ้าค่าไม่ออกมาแสดง ว่า การดึงข้อมูลยังไม่ถูกต้อง 
วิธีการทดสอบแบบนี้ถูกต้องแล้ว ให้ไล่ดูทีละจุด ทีละค่า


ninenik 30-09-2014
 ความคิดเห็นที่ 14
ต้อง where อะไรคะ ที่จะเป็นไอดีไของสินค้าที่เลือกมาเพื่อออกค่าจำนวนสต็อกสินค้า



$sql3 = "SELECT productStock FROM tblproducts  where  productID  = .............";


porn111517 30-09-2014 15:04
 ความคิดเห็นที่ 15
คำอธิบายตามความเห็นที่ 11
ต้องส่งค่าตัวแปร ID เข้าไปในฟังก์ช่ัน 


ninenik 30-09-2014






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ