สอบถามครับ Update ข้อมูลลง database โดยใช้ checkbox เป็นเงื่อนไข

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

สอบถามครับ Update ข้อมูลลง database โดยใช้ checkbox เป็นเงื่อนไข
ผมเขียนโปรแกรมที่ให้ผู้ใช้เลือกข้อมูลที่ต้องการจะอัพเดทผ่าน checkbox ครับโดยตอนนี้ติดปัญหาที่ว่ากด submit แล้วค่าไม่เข้าไปที่ database ลองกดแล้วให้เด้ง echo alert ก็ไม่ขึ้นเหมือนกันครับ

เงื่อนไข เช็ค checkbox เพื่อลง database ครับ
<?php 
		
		$CheckBox = $_POST["dataset"];
        if(isset($_POST["Submit"]))
		{
			if(empty($CheckBox) || $CheckBox == 0 ) {	
				echo "Please select data after click submit !!";
			}else{
				foreach($_POST["dataset"] as $i) 
				{
					$query = "INSERT INTO r (id,accountcode,orders)
							 VALUES('{$_POST['txtID'][$i]}','{$_POST['txtACC'][$i]}','{$_POST['txtITM'][$i]}')";
					$Q_INSERT = mysqli_query($conn,$query);										
				}
			}
			if($Q_INSERT)
			{
				echo "<script> alert('SUCCESS !')</script>";
			}
			    
       		}
?>

อันนี้ส่วนของตารางข้อมูลและ checkbox ครับ

<tr> 
<td><center><input type="hidden" name="txtID[]" id="txtID" value="<?php echo $ven2["id"];?>"><?php echo $ven2["id"];?></center></td>
<td><center><input type="hidden" name="txtACC[]" id="txtACC" value="<?php echo $ven2["acc_name"];?>"><?php echo $ven2["acc_name"];?></center></td>
<td><input type="hidden" name="txtITM[]" id="txtITM" value="<?php echo $ven2["item_name"];?>"><?php echo $ven2["item_name"];?></td>
<td><center><input type="checkbox" name="dataset[]" id="dataset" value="<?php echo $i++; ?>" ></center></td>  
</tr>

หน้าตาของเว็บโดยคร่าวๆครับ จริงๆมีรายการมากกว่านี้



Natchaphon Jumnakros 110.170.68.xxx 30-07-2019 17:10:46

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

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


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


  • ( หรือ เข้าใช้งานด้วย Facebook คลิก )
 ความคิดเห็นที่ 1
เพิ่มเติมโค้ดในส่วนของตารางแสดงข้อมูลครับ
<table width="75%" border="1" id="myTable">
<thead>
<tr>
  	<th width="5%"><div align="center">No.</div></th>
    <th width="10%"><div align="center">ACCOUNT CODE</div></th>
    <th width="25%"><div align="center">ITEM NAME</div></th>
    <th width="5%"><div align="center"></div></th>
</tr>
</thead>
<tbody>

<?php
	 
$i=0;

while($i<$numr && $ven2 = $ven->fetch_assoc())
{
	
?>

<tr> 
<td><center><input type="hidden" name="txtID[]" id="txtID" value="<?php echo $ven2["id"];?>"><?php echo $ven2["id"];?></center></td>
<td><center><input type="hidden" name="txtACC[]" id="txtACC" value="<?php echo $ven2["acc_name"];?>"><?php echo $ven2["acc_name"];?></center></td>
<td><input type="hidden" name="txtITM[]" id="txtITM" value="<?php echo $ven2["item_name"];?>"><?php echo $ven2["item_name"];?></td>
<td><center><input type="checkbox" name="dataset[]" id="dataset" value="<?php echo $i++; ?>" ></center></td>  
</tr>

<?php
}
?>
 
</tbody> 
</table>


Natchaphon Jumnakros 110.170.68.xxx 30-07-2019 17:14
 ความคิดเห็นที่ 2
ลองกำหนด key ให้กับ element ที่เป็น array โดยใช้ค่าที่เป็น unique เช่น

<?php
      
$i=0;
 
while($i<$numr && $ven2 = $ven->fetch_assoc())
{
     
?>
 
<tr> 
<td><center><input type="hidden" name="txtID[<?php echo $ven2["id"];?>]" id="txtID" value="<?php echo $ven2["id"];?>"><?php echo $ven2["id"];?></center></td>
<td><center><input type="hidden" name="txtACC[<?php echo $ven2["id"];?>]" id="txtACC" value="<?php echo $ven2["acc_name"];?>"><?php echo $ven2["acc_name"];?></center></td>
<td><input type="hidden" name="txtITM[<?php echo $ven2["id"];?>]" id="txtITM" value="<?php echo $ven2["item_name"];?>"><?php echo $ven2["item_name"];?></td>
<td><center><input type="checkbox" name="dataset[<?php echo $ven2["id"];?>]" id="dataset" value="<?php echo $i++; ?>" ></center></td>  
</tr>
 
<?php
}
?>


หรือดูเนื้อหาจากบทความด้านล่างเป็นแนวทาง


บทความแนะนำที่เกี่ยวข้อง
แนวทางการส่งค่า จาก checkbox เพื่อบันทึกข้อมูลแบบ array ใน phpอ่าน 22,628
Ninenik 122.155.46.xxx 30-07-2019
 ความคิดเห็นที่ 3
คุณนิคครับ ถ้าผมเปลี่ยนเป็นแบบใช้ key แบบ unique  แล้วเงือนไขตอน checkbox ถูกติ๊กแล้วอัพลงดาต้าเบสต้องเปลี่ยนรึป่าวครับ


Natchaphon Jumnakros 110.170.68.xxx 31-07-2019 11:06
 ความคิดเห็นที่ 4
ตอนนี้ได้แล้วครับขอบคุณมากครับคุณนิค ถ้าผมอยากให้สามารถกลับมารับค่าเพิ่มได้จากหน้าแรก ต้องทำยังไงครับโดยที่ค่าเก่ายังคงอยู่และสามารถแสดงพร้อมกันได้


Natchaphon Jumnakros 110.170.68.xxx 01-08-2019 10:29
 ความคิดเห็นที่ 5
ไม่สามารถรับค่าในกรณีที่ติ๊กเลือกข้อมูลในหลายหน้าได้ครับ
ถ้าเลือกข้อมูลหน้า 1 กับ หน้า 2 มันจะรับค่าเฉพาะหน้าปัจจุบันตอนกดปุ่ม submit ครับ


Natchaphon Jumnakros 110.170.68.xxx 01-08-2019 11:03
1 2 3 Next






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