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,027

HOME > PHP > PHP Forum > While Loop เพื่อ SELECT ข้อมูลแต่ข้อมูลออกมาไม่ครบ



 

While Loop เพื่อ SELECT ข้อมูลแต่ข้อมูลออกมาไม่ครบ

 



Topic : 131908



โพสกระทู้ ( 15 )
บทความ ( 0 )



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




Code (PHP)
	$Total = 0;
        $SumTotal = 0;
	for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
	{
		if($_SESSION["strProductID"][$i] != "")
		{
		$strSQL1 = "SELECT * FROM list_menu WHERE menu_id = '".$_SESSION["strProductID"][$i]."' ";
		$objQuery1 = sqlsrv_query($conn,$strSQL1);
		$objResult1 = sqlsrv_fetch_array($objQuery1,SQLSRV_FETCH_ASSOC);

		 $Total        = $_SESSION["strQty"][$i] * $objResult1["menu_price"];
		 $SumTotal = $SumTotal + $Total;
		 $id	           = $objResult1["menu_id"];
		 $name       = $objResult1["menu_name"];
		 $price        = $objResult1["menu_price"];
		 $code        = $objResult1["menu_code"];
		 $qty           = $_SESSION["strQty"][$i];

		 $insert = "INSERT INTO order_detail (order_id,menu_code,menu_name,order_amount,order_price,emp_name,status) VALUES(?,?,?,?,?,?,?)";
		 $insert_params = array($max_id,$code,$name,$qty,$price,$empname,'0');
		 $query_insert 	= sqlsrv_query($conn,$insert,$insert_params);

		 ////// เลือก สูตรอาหารที่ตรงกับ รายการอาหาร
		 $select_formula = "SELECT * FROM menu_formula  WHERE menu_id='$id'";
		 $query_select_formula = sqlsrv_query($conn,$select_formula);
		 While($result_select_formula = sqlsrv_fetch_array($query_select_formula,SQLSRV_FETCH_ASSOC)){
			 $mat_qty  = $qty*$result_select_formula["menu_formula_oz"];
			 $mat_name = $result_select_formula["menu_formula_name"];


		 ////// เลือกวัตถุดิบที่ต้องการตัด จากชื่อที่ตรงกัน
		 $stock = "SELECT *FROM material_stock WHERE mat_name='$mat_name'";
		 $query_stock  = sqlsrv_query($conn,$stock);
		 $result_stock = sqlsrv_fetch_array($query_stock,SQLSRV_FETCH_ASSOC);
		 	 $stock_qty = $result_stock["mat_qty"];

		 echo "$mat_name:$mat_qty=$stock_qty";
		 echo "<br>";
		 }
	    }
	}
		unset($_SESSION["strProductID"]);

ผลที่ออกมา
ผลที่ออกมา

ข้อมูลที่ไม่แสดง
ที่ขาดไป



Tag : PHP









ประวัติการแก้ไข
2018-08-29 04:22:20
2018-08-29 04:22:45
2018-08-29 04:23:57
2018-08-29 05:09:22
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-08-29 04:19:50 By : pcthm06 View : 3128 Reply : 11
 

 

No. 1



โพสกระทู้ ( 430 )
บทความ ( 1 )



สถานะออฟไลน์
Blogger

ลืม ORDER BY menu_formula_name asc
[font=Verdana]OR [/font]
GROUP BY menu_formula_name asc
ลองเลือกใช้ พื่นๆก่อนว่าได้ไหม
Code (SQL)
SELECT * FROM material_stock WHERE mat_name='$mat_name'
// ในส่วนตัว ชอบใช้ ID เป็นหลักในการ Where มากกว่าการใช้ Field Name
Ex: SELECT *  FROM material_stock WHERE ID_material_stock = '$ID_material_stock'

แนะนำน่ะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 08:23:17 By : Hararock
 


 

No. 2



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



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


อยากจะบอกว่า คุณเอา ภาษาไทย ไปแมท เพื่อแสดงผล มันเพี้ยนได้ อยากจะให้ออกแบบ database ให้ดีหน่อย
อ้างอิงอะไรก็พยายามใช้ตัวเลข มันจะชัดเจนกว่า เร็วกว่า เล็กกว่า


id name value
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 08:49:34 By : Chaidhanan
 

 

No. 3



โพสกระทู้ ( 430 )
บทความ ( 1 )



สถานะออฟไลน์
Blogger

ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-08-29 08:49:34
รายละเอียดของการตอบ ::
ถูกที่ท่าน อจ Chaidhanan พูดไว้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 10:39:25 By : Hararock
 


 

No. 4



โพสกระทู้ ( 15 )
บทความ ( 0 )



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


ขอบคุณครับตอนนี้ได้แล้ว

Code (PHP)
$Total = 0;
  $SumTotal = 0;
	for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
	{
		if($_SESSION["strProductID"][$i] != "")
		{
		$strSQL1    = "SELECT * FROM list_menu WHERE menu_id = '".$_SESSION["strProductID"][$i]."' ";
		$objQuery1 = sqlsrv_query($conn,$strSQL1);
		$objResult1 = sqlsrv_fetch_array($objQuery1,SQLSRV_FETCH_ASSOC);

		 $Total        = $_SESSION["strQty"][$i] * $objResult1["menu_price"];
		 $SumTotal = $SumTotal + $Total;
		 $id             = $objResult1["menu_id"];
		 $name       = $objResult1["menu_name"];
		 $price        = $objResult1["menu_price"];
		 $code        = $objResult1["menu_code"];
		 $qty           = $_SESSION["strQty"][$i];

		 $insert = "INSERT INTO order_detail (order_id,menu_code,menu_name,order_amount,order_price,emp_name,status) VALUES(?,?,?,?,?,?,?)";
		 $insert_params = array($max_id,$code,$name,$qty,$price,$empname,'0');
		 $query_insert 	= sqlsrv_query($conn,$insert,$insert_params);

		 ////// เลือก สูตรอาหารที่ตรงกับ รายการอาหาร
		 $select_formula = "SELECT * FROM menu_formula  WHERE menu_id='$id'";
		 $query_select_formula = sqlsrv_query($conn,$select_formula);
		 While($result_select_formula = sqlsrv_fetch_array($query_select_formula,SQLSRV_FETCH_ASSOC)){
			 $mat_qty  = $qty*$result_select_formula["menu_formula_oz"];
			 $mat_name = $result_select_formula["menu_formula_name"];
			 $mat_id   = $result_select_formula["mat_id"];

		 ////// เลือกวัตถุดิบที่ต้องการตัด จากชื่อที่ตรงกัน
		 $stock = "SELECT *FROM material_stock WHERE mat_id='$mat_id'";
		 $query_stock  = sqlsrv_query($conn,$stock);
		 $result_stock = sqlsrv_fetch_array($query_stock,SQLSRV_FETCH_ASSOC);
		 $stock_qty = $result_stock["mat_qty"];
		 $stock_mat = $stock_qty-$mat_qty;

		///// PARAMETER/////
		echo "$mat_name : $stock_qty - $mat_qty = $stock_mat ";
		echo "<br>";
		  }
		}
	}
		unset($_SESSION["strProductID"]);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 18:16:04 By : pcthm06
 


 

No. 5



โพสกระทู้ ( 15 )
บทความ ( 0 )



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


แต่ตอนนี้ตัดปัญหาว่า ผมจะทำการนำค่าไป UPDATE
Code (PHP)
$update_mat = "UPDATE material_stock SET mat_qty=?";
$array_mat  = array($stock_mat);
$query_update_mat = sqlsrv_query($conn,$update_mat,$array_mat);


โค้ด UPDATE จะอยู่ต่อจาก
Code (PHP)
///// PARAMETER/////
echo "$mat_name : $stock_qty - $mat_qty = $stock_mat ";
echo "<br>";


ค่าที่ออกมาตอนใส่คำสั่ง UPDATE
1

ตอนไม่ใส่คำสั่ง UPDATE (จริงๆผลที่ออกมาต้องเป็นแบบนี้ตอนใส่คำสั่ง UPDATE)
2

ฐานข้อมูล
3

คือเมื่อตอนใส่คำสั่ง update แล้วมันใช้ค่าตัวแรกสุดแล้วมาทำการลบเรื่อยๆ น่ะครับ


ประวัติการแก้ไข
2018-08-29 18:28:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 18:28:07 By : pcthm06
 


 

No. 6



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



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


"UPDATE material_stock SET mat_qty=? where mat_id=? "; ลืม where ไปหรือเปล่า ไม่ใส่ where มันอัพเดททั้งตาราง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 21:20:47 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 15 )
บทความ ( 0 )



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-08-29 21:20:47
รายละเอียดของการตอบ ::
โอ้ววว ใช่แล้วครับบผมลืมไปซะสนิท ขอบคุณมากครับน้ำตาจะไหล

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-08-29 22:15:27 By : pcthm06
 


 

No. 8

Guest


โค็ดที่ผมใช้ตอนนี้ครับ .....แต่ผมมีปัญหาคือ ข้อมูลจะแสดงผลไม่ครบ....หายไป 3 เรคอร์ด หรือ ประมาณ 1 คน จากนักเรียนทุกคนที่ขาดเรียน กรุณาช่วยตรวจสอบหน่อยครับว่าควรแก้ไขตรงไหน


Code (PHP)
$strSQL1 = "SELECT chkstdmima.resume_id,count(chkstdmima.resume_id) as total,resume.name FROM chkstdmima,resume WHERE (chkstdmima.resume_id = resume.resume_id AND chkstdmima.date_rec BETWEEN '$date_start' AND '$date_end') GROUP BY chkstdmima.resume_id ORDER BY chkstdmima.resume_id";
$objQuery1 = mysqli_query($link,$strSQL1) or die ("Error Query [".$strSQL1."]"); 

$row1='';
while($re =  mysqli_fetch_array($objQuery1,MYSQLI_ASSOC))
{
	if($re['resume_id']!= $row1) 
{ ?>
	<tr>
		<td align="center"><?php echo $re["resume_id"];?></td>
		<td>&nbsp;<?php echo $re["name"];?></td>
		<td align="center"><?php echo $re["total"];;?></td>
	</tr>
	<?php
	}
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-28 16:29:18 By : kruwee
 


 

No. 9



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



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


เอา tag ภาษาครอบให้หน่อยจะได้อ่านง่าย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-28 17:22:08 By : Chaidhanan
 


 

No. 10

Guest


โค็ดที่ผมใช้ตอนนี้ครับ .....แต่ผมมีปัญหาคือ ข้อมูลจะแสดงผลไม่ครบ....หายไป 3 เรคอร์ด เป็นของนักเรียน 1 คน ที่ขาด 3 วัน (ผมต้องการแสดงข้อมูลของนักเรียนแต่ละคนว่าขาดเรียนกี่ครั้งใน 1 เดือน) กรุณาช่วยตรวจสอบหน่อยครับว่าควรแก้ไขตรงไหน

Code (PHP)
<html>
<body>
include "dblink.php";

<?php
$strSQL1 = "SELECT chkstdmima.resume_id,count(chkstdmima.resume_id) as total,resume.name FROM chkstdmima,resume WHERE (chkstdmima.resume_id = resume.resume_id AND chkstdmima.date_rec BETWEEN '$date_start' AND '$date_end') GROUP BY chkstdmima.resume_id ORDER BY chkstdmima.resume_id";
$objQuery1 = mysqli_query($link,$strSQL1) or die ("Error Query [".$strSQL1."]");
?>

<table width="600" border="1">
<tr>
<th width="50"> <div align="center">เลขที่</div></th>
<th width="120"> <div align="center">ชื่อ-สกุล</div></th>
<th width="70"> <div align="center">ขาด (ครั้ง)</div></th>
</tr>

<?php
$row1='';
while($re = mysqli_fetch_array($objQuery1,MYSQLI_ASSOC))
{
if($re['resume_id']!= $row1)
{ ?>

<tr>
<td align="center"><?php echo $re["resume_id"];?></td>
<td>&nbsp;<?php echo $re["name"];?></td>
<td align="center"><?php echo $re["total"];;?></td>
</tr>
<?php
}
}
?>
</table>
<?php
mysql_close($link);
?>

</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-29 10:48:51 By : kruwee
 


 

No. 11



โพสกระทู้ ( 9,544 )
บทความ ( 2 )



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


หัดเขียนเป็น oop ได้แล้ว
Code (PHP)
$strSQL1 = <<<STMT
SELECT c.resume_id,count(c.resume_id) as total, r.name 
FROM chkstdmima c
left join resume r on c.resume_id = r.resume_id 
WHERE (c.date_rec BETWEEN '$date_start' AND '$date_end') 
GROUP BY c.resume_id 
ORDER BY c.resume_id
STMT;
$objQuery1 = $link->query($strSQL1) or die ("Error Query [".$strSQL1."]<br>".$link->error);
while ( $ro = $objQuery1->fetch_assoc()){


โค๊ดไม่มีอะไรผิด ผิดที่ ข้อมูลไม่ตรงกับ condition ดู where clause ให้ดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-06-29 13:18:24 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : While Loop เพื่อ SELECT ข้อมูลแต่ข้อมูลออกมาไม่ครบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่