update checkbox ลงฐานข้อมูล

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา update checkbox ลงฐานข้อมูล

update checkbox ลงฐานข้อมูล
คือถ้ามีการติ๊กเครื่องหมายถูกที่หน้า checkbox ต้องการให้สถานะเป็น 1 ถ้าไม่มีการเช็ค ให้ค่าเป็น 0 
แต่ถ้ามีสถานะอยู่แล้วเช่น 2 ก็อยากให้คงค่าเดิมไว้ ตอนนี้คือถ้าไม่เช็ค ค่าจะเปลี่ยนเป็น 0 หมดเลยค่ะ
ต้องทำยังไงคะ

หน้า edit.php
<td align="center" valign="middle">
  <?
	echo $rs['status'];
  if ($rs['status']==1)
 {
  echo'<input type="checkbox" id="status" name="status[]" value="'.$rs['id'].'" checked="checked">';
  
 }

else if ($rs['status']==0)
 {
  echo'<input type="checkbox"  id="status"  name="status[]" value="'.$rs['id'].'" >';
 }

?>

    </td>

saveEdit.php

$sqlUpdateStatement0 = "UPDATE expert SET status=0 ";
					mysql_query($sqlUpdateStatement0);
				

		if(isset($_POST['status']))
		{
			$arr_active_exam = $_POST['status'];
			
			if(sizeof($arr_active_exam)>0)
			{
foreach($arr_active_exam as $id)
		{
		
         $sqlUpdateStatement1 = "UPDATE expert SET `status`=1 WHERE id='$id'";
			mysql_query($sqlUpdateStatement1); // update all to 1 which is checked
	
		 
		}
	}
		}


Bsaranya 171.96.240.xxx 14-06-2015 16:14:41

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

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


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


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

 ความคิดเห็นที่ 11
ค่าที่ต้องการเคลียร์ข้อมูล id=36

ใช้โค้ด ตามที่บอกค่ะ

if(isset($_POST['status'][$key_data])){  // has checked
$sqlUpdateStatement1 = "UPDATE expert SET `status`=1, `dateStatus`='".$_POST['dateStatus'][$key_data]."' WHERE status !=2 AND expert.id='".$value_data."'";
mysql_query($sqlUpdateStatement1); // update all to 1 which is checked	
//echo $sqlUpdateStatement1;		
}
ค่าที่ output ออกมา 
UPDATE expert SET `status`=1, `dateStatus`='2015-08-18' WHERE status !=2 AND expert.id='1'
UPDATE expert SET `status`=1, `dateStatus`='2015-08-18' WHERE status !=2 AND expert.id='27'

ผลลัพท์




saranya2532 223.204.255.xxx 18-09-2015 10:43
 ความคิดเห็นที่ 12
เปลี่ยนเป็นแบบนี้ดู

if(count($_POST['status'])>0){
    if(in_array($value_data,$_POST['status'])) {
        $sqlUpdateStatement1 = "UPDATE expert SET `status`=1, `dateStatus`='".$dateStatus."' 
        WHERE status !=2 AND expert.id='".$value_data."'";  
        mysql_query($sqlUpdateStatement1); // update all to 1 which is checked         
    }    
}


ninenik 183.88.77.xxx 18-09-2015
 ความคิดเห็นที่ 13
ได้แล้วขอบคุณมากๆค่ะ
รบกวนหลายรอบเลย


saranya2532 223.204.255.xxx 18-09-2015 13:27






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