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 )

 ความคิดเห็นที่ 1
เพิ่มเงื่อนไขไม่ให้อัพเดท ถ้า status เท่ากับ 2 แบบนั้นได้ไหม ลองดู

$sqlUpdateStatement1 = "UPDATE expert SET `status`=1 WHERE `status`!=2  AND  id='$id'";  


ninenik 1.47.0.xxx 14-06-2015
 ความคิดเห็นที่ 2
มองข้ามไปได้ไง 
ขอบคุณมากนะคะ


bsaranya 223.204.255.xxx 15-06-2015 15:08
 ความคิดเห็นที่ 3

    <input name="dateT" type="text" class="datepic" value="<? if($dateT!='') {echo $dateShow;} ?>" />


ตอนนี้เก็บข้อมูลว่า ถ้า checkbox ให้ status = 1 และ dateStatus เป็นของวันที่เคลียร์ข้อมูล 
สมมติว่า เคลียร์ข้อมูลของวันที่ 19/8/58  test  status=1 และ dateStatus=19/8/58
ถ้าย้อนกลับมาดูข้อมูลวันที่ 17/8/58 ต้องการที่จะเคลียร์ข้อมูล test2 บ้าง
 status ต้อง=1 และ dateStatus ต้อง= 17/8/58
แต่ตอนนี้ test  status=1 และ dateStatus=17/8/58 คือไม่ต้องการให้ข้อมูลของ dateStatus เปลี่ยน
ต้องทำยังไงคะ

dateStatus =$_POST['dateT'];
$sqlUpdateStatement0 = "UPDATE expert SET status=0, dateStatus='0000-00-00'  where `status`!=2 AND expert.id='".$value_data."'";
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, `dateStatus`='".$dateStatus."' WHERE status!=2 AND id='$id'";
	mysql_query($sqlUpdateStatement1);
		 
		}
	}
		}


saranya2532 223.204.255.xxx 01-09-2015 11:25
 ความคิดเห็นที่ 4
  ไม่เข้าใจการทำงาน


ninenik 180.183.139.xxx 01-09-2015
 ความคิดเห็นที่ 5
รายการจะต้องมีการ checkbox ว่า "เคลียร์ข้อมูล" แล้ว
แต่เคลียร์ข้อมูลวันไหน ต้องแล้วแต่ user
สมมติว่า มีค่าใช้จ่าย 2รายการ คือ test, test2
ถ้าเราเปิดดูข้อมูลของวันที่ 19/8/58 แล้วเราต้องการเคลียร์ข้อมูล test 
เราจะทำการ checkbox ซึ่งจะมีผลใน DB ว่า test : status=1 และ dateStatus ='2015-08-19'

และถ้าเราย้อนมาเปิดดูข้อมูลของวันที่ 18/8/58 แล้วเราต้องการเคลียร์ข้อมูล  test2
แต่ในหน้านี้ จะยังโชว์ข้อมูลอยู่ ทั้ง  testtest2  เพราะ test มีข้อมูลถูกเคลียร์ของวันที่19 พอเราดูข้อมูลวันที่ 18 ก็จะยังโชว์อยู่
ทีนี้เราก็ทำการ checkbox ซึ่งจะมีผลใน DB ว่า test2 : status=1 และ dateStatus ='2015-08-18'
แต่ตอนนี้ข้อมูล dateStatus เปลี่ยนค่าทั้ง testtest2 คือ status=1 และ dateStatus ='2015-08-18'  ทั้งคู่เลย

พอจะมีวิธีที่ ข้อมูล test จะไม่เปลี่ยนไปตามข้อมูล test2  คะ

หน้า edit.php
 <input name="dateT" type="text" class="datepic" value="<? if($dateT!='') {echo $dateShow;} ?>" />
<!-- ถ้ามีการ checkbox จะดึงวันจากตรงที่ดูข้อมูลวันไหน ในที่นี้สมมติว่า 18/8/58  dateStatusจึงเท่ากับ 2015-08-18 ใน test2-->
<tr align="center">
    
    <td colspan="2">
	<input name="h_item_id[]" type="hidden" id="h_item_id[]" value="<?=$rs['id']?>" />  
     <textarea name="list[]" id="list[]" cols="30" rows="2"><? echo $rs['list'];?></textarea>
    </td>
	 <td>
	<textarea name="detail[]" id="detail[]" cols="30" rows="2"><? echo $rs['detail'];?></textarea>
    </td>
	<td>
   <input type="text" size="14" style="text-align:right;padding-right:2px;" name="price[]" id="price[]" value="<? echo $rs['price'];?>" OnKeyPress="return chkNumber(this);"/>
    </td>
	<td>
	<select id="remark[]" name="remark[]" >
<option <?php if ($rs['remark'] == '' ) echo 'selected'; ?> value="">--Remark--</option>
<option <?php if ($rs['remark'] == 'red' ) echo 'selected'; ?> value="red">สีแดง</option>
<option <?php if ($rs['remark'] == 'yellow' ) echo 'selected'; ?> value="yellow">สีเหลือง</option>
<option <?php if ($rs['remark'] == 'blue' ) echo 'selected'; ?> value="blue">สีฟ้า</option>
</select>
	</td>
	<td align="center" valign="middle">
  <?

  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>
	<td align="center" valign="middle"><input type="checkbox" name="chkDel[]" value="<?php echo $rs['id']; ?>"></td>
    </tr>

หน้า saveEdit.php
$dateStatus = $_POST['dateT'];

$sqlUpdateStatement0 = "UPDATE expert SET status=0, dateStatus='0000-00-00'  where `status`!=2 AND expert.id='".$value_data."'"; // ถ้าไม่ checkbox เคลียร์ข้อมูล รายการอื่นๆจะเท่ากับ status=0 และ dateStatus='0000-00-00'
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, `dateStatus`='".$dateStatus."' WHERE status!=2 AND id='$id'";
	mysql_query($sqlUpdateStatement1);
		 
		}
	}
		}



 


saranya2532 223.204.255.xxx 02-09-2015 11:37
 ความคิดเห็นที่ 6
  เข้าใจปัญหาละ แต่แนะนำไม่ถูก เพราะ

ต้องดูวาการทำงานจริงเป็นยังไง โค้ดรวม แต่ถ้าแนะนำ
 ที่ที่น่าจะผิด ก็คงเป็นส่วนของการ query และการส่งข้อมูล
น่าจะมีข้อมูลที่ส่งไปไม่ถูกต้อง  อย่างค่า $id ช้ำกันได้ไหม
เงื่อนไขการอัพเดทน่าจะผิดด้วย เพราะค่าเปลี่ยนไปทั้งสองรายการ


>>>  อัพเดท >>> 02-09-2015
------------------------------------------
  1. $sqlUpdateStatement0 = "UPDATE expert SET status=0, dateStatus='0000-00-00'  where `status`!=2 AND expert.id='".$value_data."'"// ถ้าไม่ checkbox เคลียร์ข้อมูล รายการอื่นๆจะเท่ากับ status=0 และ dateStatus='0000-00-00'  
  2. mysql_query($sqlUpdateStatement0);  

และก็บรรทัดนี้คืออะไร  ตัวแปร $value_data มายังไง


ninenik 180.183.139.xxx 02-09-2015
 ความคิดเห็นที่ 7



หน้า edit.php
<form id="form1" name="form1" method="post" action="saveEdit.php?com=<? echo $com;?>&bank=<? echo $bank;?>&accountbank=<? echo $accountbank;?>">

<table id="myTbl" width="650" border="1" cellspacing="0" cellpadding="0">

		<tr>

<td width="100px">&nbsp; วันที่</td>
<td colspan="6" align="left">
	<? 
	$nowdate = date('Y-m-d');
	list($Year,$month,$day) = explode("-",$nowdate);
      $dateNow = (int)$day."/".(int)$month."/".($Year*1 + 543);
	
	$dateShow=$dateT;
	list($Year,$month,$day) = explode("-",$dateShow);
      $dateShow = (int)$day."/".(int)$month."/".($Year*1 + 543);
	  ?>
    <input name="dateTime" type="text" class="datepic" value="<? if($dateT!='') {echo $dateShow;} ?>" />

</td>

</tr>
<tr>
    
    <td width="100px">
	บัญชี
    </td>
	<td colspan="6" align="left">
 <input type="hidden" value="<? echo $accountbank;?>" name="account"><? echo $accName."&nbsp;&nbsp;(".$accNo.")";?>
 <? if ($row['bank']=='kasikorn'){echo "<br/>ธนาคาร กสิกรไทย";}
		 else if ($row['bank']=='krungsri'){echo "<br/>ธนาคาร กรุงศรีอยุธยา";}
		 else if ($row['bank']=='krungthep'){echo "<br/>ธนาคาร กรุงเทพ";}
		  else if ($row['bank']=='tanachart'){echo "<br/>ธนาคาร ธนชาติ";}
		   else if ($row['bank']=='krungthai'){echo "<br/>ธนาคาร กรุงไทย";}
		    else if ($row['bank']=='aomsin'){echo "<br/>ธนาคาร ออมสิน";}		 ?>
 <? echo "&nbsp;&nbsp;สาขา&nbsp;&nbsp;".$row['brance']."<br/>ประเภทบัญชี&nbsp;&nbsp;".$row['flag'] ;?>
    </td>
    </tr>
<tr align="center">
	<td colspan="2">รายการ</td>
	<td>เงื่อนไข</td>
	<td width="100px">จำนวนเงิน (บาท)</td>
	<td width="80px">Remark</td>
	<td width="80px">เคลียร์ข้อมูล</td>
	<td width="80px">ลบ</td>
</tr>
<?php
$all_id_data="";
$q="SELECT * FROM .....................";
$qr=@mysql_query($q);
if(@mysql_num_rows($qr)>0){
?>

<?php
	while($rs=@mysql_fetch_array($qr)){
		$all_id_data.=$rs['id'].",";
?>
  <tr align="center" class="firstTr">
    
    <td colspan="2">
	<input name="h_item_id[]" type="hidden" id="h_item_id[]" value="<?=$rs['id']?>" />  
     <textarea name="list[]" id="list[]" cols="30" rows="2"><? echo $rs['list'];?></textarea>
    </td>
	 <td>
	<textarea name="detail[]" id="detail[]" cols="30" rows="2"><? echo $rs['detail'];?></textarea>
    </td>
	<td>
   <input type="text" size="14" style="text-align:right;padding-right:2px;" name="price[]" id="price[]" value="<? echo $rs['price'];?>" OnKeyPress="return chkNumber(this);"/>
    </td>
	<td>
	<select id="remark[]" name="remark[]" >
<option <?php if ($rs['remark'] == '' ) echo 'selected'; ?> value="">--Remark--</option>
<option <?php if ($rs['remark'] == 'red' ) echo 'selected'; ?> value="red">สีแดง</option>
<option <?php if ($rs['remark'] == 'yellow' ) echo 'selected'; ?> value="yellow">สีเหลือง</option>
<option <?php if ($rs['remark'] == 'blue' ) echo 'selected'; ?> value="blue">สีฟ้า</option>
</select>
	</td>
	<td align="center" valign="middle">
  <?

  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'].'" >';
 }
?>
<input type="text" name="dateStatus[]" value="<?php if ($rs['dateStatus']!='0000-00-00') { echo $rs['dateStatus'];} else { echo $dateT;} ?>">
    </td>
	<td align="center" valign="middle"><input type="checkbox" name="chkDel[]" value="<?php echo $rs['id']; ?>"></td>
    </tr>
<?php } ?>  
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="2" align="left">
    <button id="addRow" type="button">+</button>  
    &nbsp;
    <button id="removeRow" type="button">-</button>
	&nbsp;
    &nbsp;
    &nbsp;
    <input name="h_all_id_data" type="hidden" id="h_all_id_data" value="<?=$all_id_data?>" />    
    </td>
  </tr>
  <tr>
			
<td align="left" colspan="2">
           	    <input class="blueButton" type="submit" name="Submit" id="Submit" value="Submit" />
				<input class="greyButton" type="reset" name="reset" id="reset" value="reset" />
			</td>
			  </tr>
</table>

</form>



หน้า saveEdit.php
<? include('Connections/conndb.php');
$bank=$_GET['bank'];
$com=$_GET['com'];
$accountbank=$_GET['accountbank'];
$dateT=$_GET['dateT'];
$sql="Select * From accountbank where accid='$accountbank'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
$accName=$row['accname'];
$accNo=$row['accno'];
$nowdate = date('Y-m-d');
/// ส่วนของการเพิ่ม ลบ แก้ไข ข้อมูล
if($_POST['Submit']){
				
				for($i=0;$i<count($_POST["chkDel"]);$i++)
	{
		if($_POST["chkDel"][$i] != "")
		{
			$strSQL = "DELETE FROM expert ";
			$strSQL .="WHERE id = '".$_POST["chkDel"][$i]."' ";
			$objQuery = mysql_query($strSQL);
		}
	}
	
	
				
				$dateTime=$_POST['dateTime'];
				$dateTime=preg_split("///",$dateTime, -1, PREG_SPLIT_NO_EMPTY);
				$dateTime=($dateTime[2]-543)."-".$dateTime[1]."-".$dateTime[0];
				$accid=$_POST['account'];
	// ตรวจสอบค่า id หลักของข้อมูล ว่ามีข้อมูลหรือไม่
	
	if(count($_POST['h_item_id'])>0){
		// แยกค่า id หลักของข้อมูลเดิม ถ้ามี เก็บเป็นตัวแปร array
		$h_data_id_arr=explode(",",substr($_POST['h_all_id_data'],0,-1));
		
						
		foreach($_POST['h_item_id'] as $key_data=>$value_data){// วนลูป จัดการกับค่า id หลัก
				$dateStatus = $_POST['dateStatus'][$key_data];
			if($value_data==""){ // ถ้าไม่มีค่า แสดงว่า จะเป็นการเพิ่มข้อมูลใหม่
							
				@mysql_query("
					INSERT INTO expert (
						id ,
						date ,
						list ,
						detail ,
						price ,
						accid ,
						remark
																
					)
					VALUES (
						NULL ,
						'".$dateTime."',
						'".$_POST['list'][$key_data]."',
						'".$_POST['detail'][$key_data]."',
						'".$_POST['price'][$key_data]."',
						'".$accid."',
						'".$_POST['remark'][$key_data]."'
						
					);			
				");
			}else{ // ถ้ามีค่าอยู่แล้ว ให้อัพเดท รายการข้อมูลเดิม โดยใช้ ค่า id หลัก
			
			@mysql_query("
					UPDATE expert SET  
					
					list =  '".$_POST['list'][$key_data]."',
					detail =  '".$_POST['detail'][$key_data]."',
					price =  '".$_POST['price'][$key_data]."',
					accid =  '".$accid."',
					remark =  '".$_POST['remark'][$key_data]."'
					WHERE id='".$value_data."' ;				
				");
				$sqlUpdateStatement = "
					UPDATE outcome,expert SET  
					
					outcome.list =  '".$_POST['list'][$key_data]."',
					outcome.detail =  '".$_POST['detail'][$key_data]."',
					outcome.price =  '".$_POST['price'][$key_data]."',
					outcome.accid =  '".$accid."',
					outcome.remark =  '".$_POST['remark'][$key_data]."'
					WHERE expert.id='".$value_data."' AND outcome.id=expert.id_outcome";
					mysql_query($sqlUpdateStatement);
			///////////////
			
		
					$sqlUpdateStatement0 = "UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='".$value_data."'";
					mysql_query($sqlUpdateStatement0);  // update all to 0 which is non checked
		

		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, `dateStatus`='".$dateStatus."' WHERE status!=2 AND id='$id'";
			mysql_query($sqlUpdateStatement1); // update all to 1 which is checked
		
		 
		}
		
			}
		}
		//////////
			}
		}
		
		// ตรวจสอบ id หลัก ค่าเดิม และค่าใหม่ เพื่อหาค่าที่ถูกลบออกไป
		$h_data_id_arr_del = array_diff($h_data_id_arr, $_POST['h_item_id']);
		if(count($h_data_id_arr_del)>0){ // ถ้ามี array ค่า id หลัก ที่จะถูกลบ
			foreach($h_data_id_arr_del as $key_data=>$value_data){// วนลูป ลบรายการที่ไม่ต้องการ
				@mysql_query("
					DELETE FROM expert WHERE id='".$value_data."' ;		
				");
			}
		}
		
	

	}
	echo "<script>alert('แก้ไขข้อมูลเรียบร้อย');window.location='addStatement.php?com=$com&bank=$bank&accountbank=$accountbank&dateT=$dateTime';</script>";

}
?>



saranya2532 223.204.255.xxx 03-09-2015 10:51
 ความคิดเห็นที่ 8
ประมาณนี้หรือเปล่า

<? include('Connections/conndb.php');
$bank=$_GET['bank'];
$com=$_GET['com'];
$accountbank=$_GET['accountbank'];
$dateT=$_GET['dateT'];
$sql="Select * From accountbank where accid='$accountbank'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
$accName=$row['accname'];
$accNo=$row['accno'];
$nowdate = date('Y-m-d');
/// ส่วนของการเพิ่ม ลบ แก้ไข ข้อมูล
if($_POST['Submit']){
				
				for($i=0;$i<count($_POST["chkDel"]);$i++)
	{
		if($_POST["chkDel"][$i] != "")
		{
			$strSQL = "DELETE FROM expert ";
			$strSQL .="WHERE id = '".$_POST["chkDel"][$i]."' ";
			$objQuery = mysql_query($strSQL);
		}
	}
	
	
				
				$dateTime=$_POST['dateTime'];
				$dateTime=preg_split("///",$dateTime, -1, PREG_SPLIT_NO_EMPTY);
				$dateTime=($dateTime[2]-543)."-".$dateTime[1]."-".$dateTime[0];
				$accid=$_POST['account'];
	// ตรวจสอบค่า id หลักของข้อมูล ว่ามีข้อมูลหรือไม่
	
	if(count($_POST['h_item_id'])>0){
		// แยกค่า id หลักของข้อมูลเดิม ถ้ามี เก็บเป็นตัวแปร array
		$h_data_id_arr=explode(",",substr($_POST['h_all_id_data'],0,-1));
		
						
		foreach($_POST['h_item_id'] as $key_data=>$value_data){// วนลูป จัดการกับค่า id หลัก
				$dateStatus = $_POST['dateStatus'][$key_data];
			if($value_data==""){ // ถ้าไม่มีค่า แสดงว่า จะเป็นการเพิ่มข้อมูลใหม่
							
				@mysql_query("
					INSERT INTO expert (
						id ,
						date ,
						list ,
						detail ,
						price ,
						accid ,
						remark
																
					)
					VALUES (
						NULL ,
						'".$dateTime."',
						'".$_POST['list'][$key_data]."',
						'".$_POST['detail'][$key_data]."',
						'".$_POST['price'][$key_data]."',
						'".$accid."',
						'".$_POST['remark'][$key_data]."'
						
					);			
				");
			}else{ // ถ้ามีค่าอยู่แล้ว ให้อัพเดท รายการข้อมูลเดิม โดยใช้ ค่า id หลัก
			
			@mysql_query("
					UPDATE expert SET  
					
					list =  '".$_POST['list'][$key_data]."',
					detail =  '".$_POST['detail'][$key_data]."',
					price =  '".$_POST['price'][$key_data]."',
					accid =  '".$accid."',
					remark =  '".$_POST['remark'][$key_data]."'
					WHERE id='".$value_data."' ;				
				");
				$sqlUpdateStatement = "
					UPDATE outcome,expert SET  
					
					outcome.list =  '".$_POST['list'][$key_data]."',
					outcome.detail =  '".$_POST['detail'][$key_data]."',
					outcome.price =  '".$_POST['price'][$key_data]."',
					outcome.accid =  '".$accid."',
					outcome.remark =  '".$_POST['remark'][$key_data]."'
					WHERE expert.id='".$value_data."' AND outcome.id=expert.id_outcome";
					mysql_query($sqlUpdateStatement);
			///////////////
			
		

		
					if(isset($_POST['status'][$key_data])){  // has checked
							$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						
					}else{
						$sqlUpdateStatement0 = "UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='".$value_data."'";
						mysql_query($sqlUpdateStatement0);  // update all to 0 which is non checked						
					}
/*		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, `dateStatus`='".$dateStatus."' WHERE status!=2 AND id='$id'";
			mysql_query($sqlUpdateStatement1); // update all to 1 which is checked
		
		 
		}
		
			}
		}*/
		//////////
			}
		}
		
		// ตรวจสอบ id หลัก ค่าเดิม และค่าใหม่ เพื่อหาค่าที่ถูกลบออกไป
		$h_data_id_arr_del = array_diff($h_data_id_arr, $_POST['h_item_id']);
		if(count($h_data_id_arr_del)>0){ // ถ้ามี array ค่า id หลัก ที่จะถูกลบ
			foreach($h_data_id_arr_del as $key_data=>$value_data){// วนลูป ลบรายการที่ไม่ต้องการ
				@mysql_query("
					DELETE FROM expert WHERE id='".$value_data."' ;		
				");
			}
		}
		
	

	}
	echo "<script>alert('แก้ไขข้อมูลเรียบร้อย');window.location='addStatement.php?com=$com&bank=$bank&accountbank=$accountbank&dateT=$dateTime';</script>";

}
?>


ninenik 180.183.139.xxx 03-09-2015
 ความคิดเห็นที่ 9
จากรูปตอนแรก มี checkbox ที่เคลียร์ข้อมูล วันที่ 19/8/58


จากนั้น ทำการ checkbox ที่ test2 เพื่อเคลียร์ข้อมูลในวันที่ 18/8/58

แต่ผลคือ มันไปเคลียร์ข้อมูลของอีก id นึงค่ะ วันที่ของ test ก็ถูกเปลี่ยนไป
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'
UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='28'
UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='32'
UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='36'
UPDATE expert SET status=0, dateStatus='0000-00-00' where `status`!=2 AND expert.id='35'






















saranya2532 223.204.255.xxx 09-09-2015 17:48
 ความคิดเห็นที่ 10
ถ้าให้เปลี่ยนข้อมูล เฉพาะที่เช็คเลือก ก็น่าจะประมาณนี้หรือเปล่า

<? include('Connections/conndb.php');
$bank=$_GET['bank'];
$com=$_GET['com'];
$accountbank=$_GET['accountbank'];
$dateT=$_GET['dateT'];
$sql="Select * From accountbank where accid='$accountbank'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
$accName=$row['accname'];
$accNo=$row['accno'];
$nowdate = date('Y-m-d');
/// ส่วนของการเพิ่ม ลบ แก้ไข ข้อมูล
if($_POST['Submit']){
				
				for($i=0;$i<count($_POST["chkDel"]);$i++)
	{
		if($_POST["chkDel"][$i] != "")
		{
			$strSQL = "DELETE FROM expert ";
			$strSQL .="WHERE id = '".$_POST["chkDel"][$i]."' ";
			$objQuery = mysql_query($strSQL);
		}
	}
	
	
				
				$dateTime=$_POST['dateTime'];
				$dateTime=preg_split("///",$dateTime, -1, PREG_SPLIT_NO_EMPTY);
				$dateTime=($dateTime[2]-543)."-".$dateTime[1]."-".$dateTime[0];
				$accid=$_POST['account'];
	// ตรวจสอบค่า id หลักของข้อมูล ว่ามีข้อมูลหรือไม่
	
	if(count($_POST['h_item_id'])>0){
		// แยกค่า id หลักของข้อมูลเดิม ถ้ามี เก็บเป็นตัวแปร array
		$h_data_id_arr=explode(",",substr($_POST['h_all_id_data'],0,-1));
		
						
		foreach($_POST['h_item_id'] as $key_data=>$value_data){// วนลูป จัดการกับค่า id หลัก
				$dateStatus = $_POST['dateStatus'][$key_data];
			if($value_data==""){ // ถ้าไม่มีค่า แสดงว่า จะเป็นการเพิ่มข้อมูลใหม่
							
				@mysql_query("
					INSERT INTO expert (
						id ,
						date ,
						list ,
						detail ,
						price ,
						accid ,
						remark
																
					)
					VALUES (
						NULL ,
						'".$dateTime."',
						'".$_POST['list'][$key_data]."',
						'".$_POST['detail'][$key_data]."',
						'".$_POST['price'][$key_data]."',
						'".$accid."',
						'".$_POST['remark'][$key_data]."'
						
					);			
				");
			}else{ // ถ้ามีค่าอยู่แล้ว ให้อัพเดท รายการข้อมูลเดิม โดยใช้ ค่า id หลัก
			
			@mysql_query("
					UPDATE expert SET  
					
					list =  '".$_POST['list'][$key_data]."',
					detail =  '".$_POST['detail'][$key_data]."',
					price =  '".$_POST['price'][$key_data]."',
					accid =  '".$accid."',
					remark =  '".$_POST['remark'][$key_data]."'
					WHERE id='".$value_data."' ;				
				");
				$sqlUpdateStatement = "
					UPDATE outcome,expert SET  
					
					outcome.list =  '".$_POST['list'][$key_data]."',
					outcome.detail =  '".$_POST['detail'][$key_data]."',
					outcome.price =  '".$_POST['price'][$key_data]."',
					outcome.accid =  '".$accid."',
					outcome.remark =  '".$_POST['remark'][$key_data]."'
					WHERE expert.id='".$value_data."' AND outcome.id=expert.id_outcome";
					mysql_query($sqlUpdateStatement);
			///////////////
			
		

		
					if(isset($_POST['status'][$key_data])){  // has checked
							$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						
					}
/*		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, `dateStatus`='".$dateStatus."' WHERE status!=2 AND id='$id'";
			mysql_query($sqlUpdateStatement1); // update all to 1 which is checked
		
		 
		}
		
			}
		}*/
		//////////
			}
		}
		
		// ตรวจสอบ id หลัก ค่าเดิม และค่าใหม่ เพื่อหาค่าที่ถูกลบออกไป
		$h_data_id_arr_del = array_diff($h_data_id_arr, $_POST['h_item_id']);
		if(count($h_data_id_arr_del)>0){ // ถ้ามี array ค่า id หลัก ที่จะถูกลบ
			foreach($h_data_id_arr_del as $key_data=>$value_data){// วนลูป ลบรายการที่ไม่ต้องการ
				@mysql_query("
					DELETE FROM expert WHERE id='".$value_data."' ;		
				");
			}
		}
		
	

	}
	echo "<script>alert('แก้ไขข้อมูลเรียบร้อย');window.location='addStatement.php?com=$com&bank=$bank&accountbank=$accountbank&dateT=$dateTime';</script>";

}
?>


ninenik 1.47.225.xxx 09-09-2015
1 2 Next






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