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 > รบกวนสอบถามเรื่อง UPDATE Array แล้วค่าไม่ลงในฐานข้อมูล ครับ



 

รบกวนสอบถามเรื่อง UPDATE Array แล้วค่าไม่ลงในฐานข้อมูล ครับ

 



Topic : 128579



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



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




ค่าที่ส่งมาครับ
Array ( [Cle_ID1] => 1 [CleS_Value1] => 1 [Cle_ID2] => 2 [CleS_Value2] => 1 [Cle_ID3] => 3 [CleS_Value3] => 1 [Cle_ID4] => 4 [CleS_Value4] => 1 [Cle_ID5] => 5 [CleS_Value5] => 2 [Cle_ID6] => 6 [CleS_Value6] => 2 [Cle_ID7] => 7 [CleS_Value7] => 2 [Cle_ID8] => 8 [CleS_Value8] => 2 [Stu_Code] => 2562 [Yeae_ID] => 2/2560 [Roo_ID] => 2 [Cla_ID] => 1 )


Code
Code (PHP)
$conn = mysqli_connect("$hostname","$username","$password","$database");
$queryClea = "SELECT * FROM clean ORDER BY Cle_ID ASC ";
if ($resultClea = $conn->query($queryClea)) {
	while ($objClea = $resultClea->fetch_object()) {
		$Cle_ID = $objClea->Cle_ID;
		for($i=1;$i<=(int)$Cle_ID;$i++) 
		{			
			if($_POST["Cle_ID".$i] != "" &&
			$_POST["CleS_Value".$i] != ""
			) 
			{ 
						
			//echo $_POST["CleS_Value".$i];
				$sql = "UPDATE cleanstu SET CleS_Value='".$_POST["CleS_Value".$i]."', CleS_Date='".date("Y-m-d H:i:s")."' ,PerS_ID='".$_SESSION["PerS_ID"]."' WHERE Stu_Code ='".$_POST["Stu_Code"]."' AND Yeae_ID ='".$_POST["Yeae_ID"]."' AND Cle_ID ='".$_POST["Cle_ID".$i]."' )";
					$conn->query($sql);
			}
		}	
		
	} 
	} 
	




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-08-15 14:12:50 By : msookurb View : 931 Reply : 8
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ในคิวรี่เห็นมี AND เยอะๆ แน่ใจนะครับว่าเข้าเงื่อนไข .... AND .... AND .... ครบถ้วน!!






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 14:24:23 By : apisitp
 


 

No. 2



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



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


เปลี่ยน
if($_POST["Cle_ID".$i] != "" && $_POST["CleS_Value".$i] != "" )

เป็น
if(isset($_POST["Cle_ID".$i]) && isset($_POST["CleS_Value".$i]) )

เป็นการตรวจสอบที่ไวกว่า และชัดเจนกว่า


และการใช้ for($i=1;$i<=(int)$Cle_ID;$i++)
แน่ใจแล้วหรือว่าจะต้องให้มัน update ทุก loop

นั้นหมายถึงการ update เป็น อนุกรมก้าวหน้าเลยนะครับ
เริ่มจาก
1
1 2
1 2 3
1 2 3 4 ........
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 14:43:00 By : Chaidhanan
 

 

No. 3



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



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


ขอบคุณครับ คุณ Chaidhanan

และการใช้ for($i=1;$i<=(int)$Cle_ID;$i++)
แน่ใจแล้วหรือว่าจะต้องให้มัน update ทุก loop

ถ้าผมจะแก้ไข ควรเป็นอย่างไรครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 15:24:08 By : msookurb
 


 

No. 4



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


count array
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 15:47:11 By : apisitp
 


 

No. 5



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



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


array ที่ส่งมาควรจะมี เลข id สุดท้ายมาด้วย
หรือ กำหนดให้ array เป็นแบบนี้
Array
(
[Cle_ID] => Array( 1, 2, 3, 4, 5, 6, 7, 8)
[Cle_Value] => Array( 1, 2, 3, 4, 5, 6, 7, 8)
[Stu_Code] => 2562
[Yeae_ID] => 2/2560
[Roo_ID] => 2
[Max_ID] => 8
)


Code (PHP)
$conn = mysqli_connect("$hostname","$username","$password","$database");
for($i=0;$i<(int)$_POST['Max_ID;$i++) 
{			
	$sql = "UPDATE cleanstu 
SET CleS_Value='".$_POST["Cle_Value"][$i]."'
, CleS_Date='".date("Y-m-d H:i:s")."' 
, PerS_ID='".$_SESSION["PerS_ID"]."' 
WHERE Stu_Code ='".$_POST["Stu_Code"]."' 
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='".$_POST['Cle_ID'][$i]."'";
	$conn->query($sql);
}


ตัวอย่าง html form input

Code (HTML)
<input name="Cle_ID[]" value="1"><input name="Cle_Value[]" value="1">
<input name="Cle_ID[]" value="2"><input name="Cle_Value[]" value="2">
.....


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 15:56:38 By : Chaidhanan
 


 

No. 6



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



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


ขอบคุณ คุณ Chaidhanan ครับที่แนะนำ

from Send1
ฟอร์มที่ใช้ส่งข้อมูลสำหรับการแก้ไขครับ
Code (PHP)
                    <?php 
					$linkCleC = mysqli_connect("$hostname","$username","$password","$database");
					$queryCleC = "SELECT * FROM cleanstu WHERE Stu_Code = '".$_REQUEST["Stu_Code"]."' and Yeae_ID = '".$_REQUEST["Yeae_ID"]."' and Cla_ID ='".$_REQUEST["Cla_ID"]."' and Cle_ID = '".$objCleS->Cle_ID."' ";
				$resultCleC = mysqli_query($linkCleC, $queryCleC);
				$rowCleC = mysqli_fetch_array($resultCleC, MYSQLI_ASSOC);
					?>                        
							<tr>
								<td><?=++$ob;?><input type="hidden" name="Cle_ID<?=$i;?>" value="<?=$objCleS->Cle_ID; ?>"></td>
								<td><?=$objCleS->Cle_Name;?> <?=$objCleS->Cle_Detail;?></td>
								<td><input name="CleS_Value<?=$i;?>"  type="radio" value="1" <? if($rowCleC["CleS_Value"] == '1'){ ?>checked<? } ?>></td>
								<td><input name="CleS_Value<?=$i;?>"  type="radio" value="2" <? if($rowCleC["CleS_Value"] == '2'){ ?>checked<? } ?>></td>
							</tr>
                    <? 
					$i++;
					}mysqli_free_result($resultCleS); } 
						 mysqli_close($linkCleS);
					?>     



Code Update
Code (PHP)
$conn = mysqli_connect("$hostname","$username","$password","$database");
for($i=0;$i<(int)$_POST['Max_ID;$i++) 
{	
	// echo $_POST['Cle_ID'][$i]; ตรงนี้ค่าไม่ออกครับ ********
	$sql = "UPDATE cleanstu 
SET CleS_Value='".$_POST["Cle_Value"][$i]."'
, CleS_Date='".date("Y-m-d H:i:s")."' 
, PerS_ID='".$_SESSION["PerS_ID"]."' 
WHERE Stu_Code ='".$_POST["Stu_Code"]."' 
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='".$_POST['Cle_ID'][$i]."'";
	$conn->query($sql);
}


พอผม echo "<pre>", print_r($_POST, true),"</pre>"; มีค่าออกครับ
แต่ทำไมผม echo $_POST['Cle_ID'][$i]; ตรงนี้ค่าไม่ออกครับ********


ประวัติการแก้ไข
2017-08-15 17:24:46
2017-08-15 17:26:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 17:21:47 By : msookurb
 


 

No. 7



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



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


ดูตัวอย่าง html ที่ผมทำให้ดูครับ การกำหนดตัวแปร $_POST['Cle_ID'] ให้เป็น array
<input name="Cle_ID[]" value="1"><input name="Cle_Value[]" value="1">

เมื่อนำมาใช้กับ radio ต้องใส่ค่า index ให้กับ element ด้วยเพื่อความชัวร์

Code (PHP)
<td><?=++$ob?><input type="hidden" name="Cle_ID[]" value="<?=$objCleS->Cle_ID?>"></td>
<td><?=$objCleS->Cle_Name?> <?=$objCleS->Cle_Detail?></td>
<td><input name="CleS_Value[<?=$objCleS->Cle_ID?>]"  type="radio" value="1" <?=($rowCleC["CleS_Value"] == '1' ? 'checked' : '')?> ></td>
<td><input name="CleS_Value[<?=$objCleS->Cle_ID?>]"  type="radio" value="2" <?=($rowCleC["CleS_Value"] == '2' ? 'checked' : '')?> ></td>


เปลี่ยน คำสั่งรับจาก for( $i=.....){
เป็น
Code (PHP)
foreach($_POST['Cle_ID'] as $i=>$Cle_ID){
$sql = "UPDATE cleanstu 
SET CleS_Value='".$_POST["CleS_Value"][$Cle_ID]."'
, CleS_Date='".date("Y-m-d H:i:s")."' 
, PerS_ID='".$_SESSION["PerS_ID"]."' 
WHERE Stu_Code ='".$_POST["Stu_Code"]."' 
AND Yeae_ID ='".$_POST["Yeae_ID"]."'
AND Cle_ID ='$Cle_ID' ";
	$conn->query($sql);
}



ประวัติการแก้ไข
2017-08-15 20:34:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 20:34:03 By : Chaidhanan
 


 

No. 8



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



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


ขอบคุณ คุณChaidhanan อย่างยิ่งครับ ผมหาวิธีทำมา 3 วันแล้วครับ ถึงได้โพสต์ถามในวันนี้
ขอบคุณอีกครั้งครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-15 20:54:56 By : msookurb
 

   

ค้นหาข้อมูล


   
 

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