ขอสอบถามเรื่อง การ Update ตารางหลายตารางแบบมี วนลูป foreach ค่ะ
พอดีว่าหนูทำโปรเจคค่ะ แล้วติดตรงที่การอัพเดทตาราง โดยจะมีตารางหลัก ในตารางหลักจะมีตารางย่อยซึ่งเปนตารางเก็บค่าที่ติ๊กใน checkbox เอาไว้ ค่ะ ตอนนี้แก้ไขแต่ข้อมูลตารางหลักได้ แต่ตารางย่อยยังแก้ไขไม่ได้ค่ะ
ช่วยดูให้หน่อยค่ะ ตรงloop foreach หนูประยุกต์มาจากไฟล์ insert ไม่รู้ว่าถูกไหม ใครพอจะมีโค้ดบ้างค่ะ
โค้ด service_update.php
<?php
$T= $_POST[service_id];
echo "<script>alert('$T')</script>";
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[admit]);
$begin_year=$begin_year-543;
$admit="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[dc]);
$begin_year=$begin_year-543;
$dc="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
require_once"includes/connect_db.php";
$sql="update service_tb set
ser_caseno='".$_POST['ser_caseno']."',
rok_id='".$_POST['des_id']."',
ward='".$_POST['ward']."',
clinic='".$_POST['clinic']."',
plan='".$_POST['plan']."',
action='".$_POST['action']."',
admit='".$admit."',
dc='".$dc."',
ser_receive='".$_POST['ser_receive']."',
ser_receive_other='".$_POST['ser_receive_other']."',
ser_fact='".$_POST['ser_fact']."',
ser_fact_other='".$_POST['ser_fact_other']."',
ser_tg_other='".$_POST['ser_tg_other']."',
dis_id='".$_POST['dis_id']."',
ser_pb_detail='".$_POST['ser_pb_detail']."',
ser_pb_memo='".$_POST['ser_pb_memo']."',
ser_short='".$_POST['ser_short']."',
ser_long='".$_POST['ser_long']."',
ser_help_other='".$_POST['ser_help_other']."',
ser_aptness='".$_POST['ser_aptness']."',
ser_memo='".$_POST['ser_memo']."'
where service_id='".$_POST['service_id']."'
";
//echo $sql;
$dbquery = mysql_query($sql);
$service_id=mysql_insert_id();
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "update p_service_target set service_tb INNER JOIN p_service_help ON service_tb.service_id=p_service_target.ss_id
ss_id='".$service_id."',
tg_id='".$tg_id_value."'
where ss_id='".$_POST['service_id']."'";
//echo $sql;
mysql_query($sql2);
}
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "update p_service_ploblem set service_tb INNER JOIN p_service_help ON service_tb.service_id=p_service_ploblem.ss_id
ss_id='".$service_id."',
pb_id='".$pb_id_value."'
where ss_id='".$_POST['service_id']."'";
//echo $sql;
mysql_query($sql3);
}
foreach($_POST[help_id] as $help_id_value){
$sql4 = "update p_service_help set service_tb INNER JOIN p_service_help ON service_tb.service_id=p_service_help.ss_id
ss_id='".$service_id."',
hs_id='".$help_id_value."'
where ss_id='".$_POST['service_id']."'";
//echo $sql;
mysql_query($sql4);
}
echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว'); window.location.href ='service_detail.php';</script>";
?>
Tag : - - - -
Date :
2014-11-05 16:39:17
By :
meimeii
View :
1326
Reply :
10
ลองรัน โปรแกรมแล้วหรือยังครับ ถ้ารันแล้ว เอาเออเร่อร์ มาดูด้วยครับ
Code (PHP)
$sql2= "update p_service_target set service_tb INNER JOIN p_service_help ON service_tb.service_id=p_service_target.ss_id
ss_id='".$service_id."',
tg_id='".$tg_id_value."'
where ss_id='".$_POST['service_id']."'";
//echo $sql;
mysql_query($sql2);
คำสั่ง คิวรี่จากโปรแกรมข้างบน มันผิดนะครับ
ถ้าต้องการรู้ว่า เออเร่อร์อะไร ให้ใช้คำสั่งคิวรี่ แบบนี้ครับ
Code (PHP)
mysql_query($sql2) or die($sql2 . "<br>\n" . mysql_error());
ลองเช็คเออเร่อร์ดูก่อนนะครับ ไวยกรณ์ ของ statement sql มันผิด อยู่นะครับ
Date :
2014-11-05 17:39:49
By :
Chaidhanan
ก่อนอื่นต้องขอโทดคุณChaidhanan ที่เพิ่งเห็นคำตอบ
ได้เพิ่มคิวรี่ไปแล้ว มันเออเร่อ ตรงที่ join ตาราง เลยเอาออกดู
คราวนี้มันบันทึกข้อมูลได้แต่ ตารางในappserv ค่าid ที่เลือกไว้มันเปลี่ยนเป็น เลขเดียวกันหมดเลยค่ะ ตรงค่าไอดีก็เป็นเลข 0
code
<?php
$T= $_POST[service_id];
echo "<script>alert('$T')</script>";
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[admit]);
$begin_year=$begin_year-543;
$admit="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[dc]);
$begin_year=$begin_year-543;
$dc="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
require_once"includes/connect_db.php";
$sql="update service_tb set
ser_caseno='".$_POST['ser_caseno']."',
rok_id='".$_POST['des_id']."',
ward='".$_POST['ward']."',
clinic='".$_POST['clinic']."',
plan='".$_POST['plan']."',
action='".$_POST['action']."',
admit='".$admit."',
dc='".$dc."',
ser_receive='".$_POST['ser_receive']."',
ser_receive_other='".$_POST['ser_receive_other']."',
ser_fact='".$_POST['ser_fact']."',
ser_fact_other='".$_POST['ser_fact_other']."',
ser_tg_other='".$_POST['ser_tg_other']."',
dis_id='".$_POST['dis_id']."',
ser_pb_detail='".$_POST['ser_pb_detail']."',
ser_pb_memo='".$_POST['ser_pb_memo']."',
ser_short='".$_POST['ser_short']."',
ser_long='".$_POST['ser_long']."',
ser_help_other='".$_POST['ser_help_other']."',
ser_aptness='".$_POST['ser_aptness']."',
ser_memo='".$_POST['ser_memo']."'
where service_id='".$_POST['service_id']."'
";
$dbquery = mysql_query($sql)or die(mysql_error());
$service_id=mysql_insert_id();
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "update p_service_target set
ss_id='".$service_id."',
tg_id='".$tg_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery2 = mysql_query($sql2)or die(mysql_error());
}
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "update p_service_ploblem set
ss_id='".$service_id."',
pb_id='".$pb_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery3 = mysql_query($sql3)or die(mysql_error());
}
foreach($_POST[help_id] as $help_id_value){
$sql4 = "update p_service_help set
ss_id='".$service_id."',
hs_id='".$help_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery4 = mysql_query($sql4)or die(mysql_error());
}
echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว'); window.location.href ='service_detail.php';</script>";
?>
Date :
2014-11-05 20:59:00
By :
meimeii
ss_id ของตารางย่อย จะค่าเดียวกันกับ service_id ในตารางหลักค่ะ
Date :
2014-11-05 21:00:06
By :
meimeii
รบกวนขอหน้า html ตัวส่งด้วยครับ จะได้ตรวจสอบการส่งด้วยว่าถูกต้องหรือเปล่า
Date :
2014-11-05 21:29:49
By :
Chaidhanan
$sql="update service_tb set
....
";
$dbquery = mysql_query($sql)or die(mysql_error());
บันทัดบน เป็น update บันทัดล่างไม่มีผลครับ
$service_id=mysql_insert_id();
ควรจะเป็น
Code (PHP)
$service_id=$_POST['service_id'];
ลองตรวจสอบ โฟล์ ให้ชัดเจนครับว่าต้องการทำอะไรแน่ครับ
ประวัติการแก้ไข 2014-11-05 21:46:05 2014-11-05 21:59:40
Date :
2014-11-05 21:45:30
By :
Chaidhanan
ขอบคุณมากๆค่ะ ตอนนี้แก้ $service_id=$_POST['service_id']; แล้ว
ในappserv ตรงไอดีรหัสตรงแล้ว แต่ตรงตัวเลือกที่เลือก เช่นเคยเลือกcheckbox เอาไว้ 1 2 พอจะแก้ไขเลือก 1 2 3 จะเพิ่มเลข 3 เข้ามา มัน ยังมีแค่ข้อมูล 2 ตัวเหมือนเดิม แต่ ค่า เป็น เลข 3 ทั้งสองอัน
หน้า service_edit.php
<table width="625" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" scope="col"><?php include"header.php";?></th>
</tr>
<tr>
<td colspan="2" bgcolor="#5BB75B"> </td>
</tr>
<td width="200" valign="top" bgcolor="#FFFFFF"><?php include"menu.php";?></td>
<td width="824" valign="top" bgcolor="#FFFFFF"><form id="form1" name="form1" method="POST" action="service_update.php">
<?php
//แปลงคศ เป็น พศ
list($begin_year,$begin_month,$begin_day) = explode("-",$result[admit]);
$begin_year=$begin_year+543;
$admit="$begin_day-$begin_month-$begin_year";
//แปลงคศ เป็น พศ
list($begin_year,$begin_month,$begin_day) = explode("-",$result[dc]);
$begin_year=$begin_year+543;
$dc="$begin_day-$begin_month-$begin_year";
//แปลงคศ เป็น พศ
list($begin_year,$begin_month,$begin_day) = explode("-",$result[ser_date]);
$begin_year=$begin_year+543;
$ser_date="$begin_day-$begin_month-$begin_year";
?>
<p><br />
</p>
<h5><center>กระบวนการดำเนินงานตามมาตรฐานสังคมสงเคราะห์ทางการแพทย์</center></h5>
<br />
<p><legend> ส่วนที่1 :: ข้อมูลทางการแพทย์</legend></p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="left">Case No.</td>
<td align="left"><input type="text" name="ser_caseno" id="ser_caseno" value="<?php echo $result[ser_caseno];?>"/></td>
</tr>
<tr>
<td width="34%" align="left">H.N.</td>
<td width="66%" align="left"><?php echo $result[ser_hn];?><INPUT TYPE="hidden" NAME="service_id" value="<?php echo $result[service_id];?>"></td>
</tr>
<tr>
<td align="left"> </td>
<td align="left"> </td>
</tr>
<tr>
<td align="left">โรค</td>
<td align="left"><select name="des_id" id="des_id">
<?php
echo"<option value=''>กรุณาเลือก </option>";
$sql5 = "select * from p_rok order by rok_name ";
$dbquery5 = mysql_query( $sql5);
$num_rows5 = mysql_num_rows($dbquery5);
if($num_rows5 >0){
While ($result5 = mysql_fetch_assoc($dbquery5))
{
if($result[rok_id]==$result5[rok_id]){$select5="selected";}else{ $select5=""; }
echo"<option value=$result5[rok_id] $select5> $result5[rok_name] </option>";
}
}?>
</select></td>
</tr>
<tr>
<td align="left">Ward</td>
<td align="left"><input type="text" name="ward" id="ward" value="<?php echo $result[ward];?>"/></td>
</tr>
<tr>
<td align="left">Clinic</td>
<td align="left"><input type="text" name="clinic" id="clinic" value="<?php echo $result[clinic];?>"/></td>
</tr>
<tr>
<td align="left" valign="top">การวินิจฉัยโรค/แผนการรักษา</td>
<td align="left"><textarea name="plan" id="plan" cols="45" rows="5"><?php echo $result[plan];?></textarea></td>
</tr>
<tr>
<td height="43" align="left" valign="top">การดำเนินการต่อเนื่อง <br>เกี่ยวกับการรักษา</p></td>
<td align="left"><textarea name="action" id="action" cols="45" rows="5"><?php echo $result[action];?></textarea></td>
</tr>
<tr>
<td align="left">วัน admit</td>
<td align="left"><input type="text" name="admit" id="admit" value="<?php echo $admit;?>"/></td>
</tr>
<tr>
<td align="left">วัน D/C</td>
<td align="left"><input type="text" name="dc" id="dc" value="<?php echo $dc;?>"/></td>
</tr>
</table>
<br />
<legend> ส่วนที่ 2 :: ข้อมูลการค้นหาข้อเท็จจริงเบื้องต้น (Intake and Fact Finding)</legend>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" scope="col"><div align="left">2.1 การรับเรื่อง</div> </th>
</tr>
<tr>
<td width="37%"><div align="left">
<label>
<input name="ser_receive" type="radio" id="RadioGroup1_3" value="ผู้ป่วย/ญาติ มาด้วยตนเอง" checked="checked"
<?php if($result['ser_receive']=="ผู้ป่วย/ญาติ มาด้วยตนเอง"){echo"checked";}?>/>
ผู้ป่วย/ญาติ มาด้วยตนเอง</label>
</div></td>
<td width="63%"> </td>
</tr>
<tr>
<td><div align="left">
<label>
<input type="radio" name="ser_receive" value="รับ Consult" id="RadioGroup1_1"
<?php if($result['ser_receive']=="รับ Consult"){echo"checked";}?>/>
รับ Consult</label>
</div></td>
<td> </td>
</tr>
</table>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="37%" scope="col"><div align="left">
<div align="left">
<label>
<input type="radio" name="ser_receive" value="อื่นๆ" id="RadioGroup1_2"
<?php if($result['ser_receive']=="อื่นๆ"){echo"checked";}?>/>
อื่นๆ</label>
</div>
</div></th>
<th width="63%" align="left" scope="col">ระบุ <input type="text" name="ser_receive_other" id="ser_receive_other" value="<?php echo $result[ser_receive_other];?>"/></th>
</tr>
</table>
<p> </p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" scope="col"><div align="left">2.2 การได้มาของข้อมูล ข้อเท็จจริง</div></th>
</tr>
<tr>
<td width="44%"><label>
<input type="radio" name="ser_fact" value="สัมภาษณ์ผู้ป่วย/คนใกล้ชิด/เยี่ยม ward" id="RadioGroup2_5"
<?php if($result['ser_fact']=="สัมภาษณ์ผู้ป่วย/คนใกล้ชิด/เยี่ยม ward"){echo"checked";}?>/>
สัมภาษณ์ผู้ป่วย/คนใกล้ชิด/เยี่ยม ward</label></td>
<td width="56%"> </td>
</tr>
<tr>
<td><label>
<input type="radio" name="ser_fact" value="ร่วมทีมสหวิชาชีพ/PCT" id="RadioGroup2_1"
<?php if($result['ser_fact']=="ร่วมทีมสหวิชาชีพ/PCT"){echo"checked";}?>/>
ร่วมทีมสหวิชาชีพ/PCT</label></td>
<td> </td>
</tr>
<tr>
<td><label>
<input type="radio" name="ser_fact" ) value="เยี่ยมบ้าน" id="RadioGroup2_2"
<?php if($result['ser_fact']=="เยี่ยมบ้าน"){echo"checked";}?>/>
เยี่ยมบ้าน</label></td>
<td> </td>
</tr>
<tr>
<td><label>
<input type="radio" name="ser_fact" value="ผู้นำชุมชน/เยี่ยมชุมชน" id="RadioGroup2_3"
<?php if($result['ser_fact']=="ผู้นำชุมชน/เยี่ยมชุมชน"){echo"checked";}?>/>
ผู้นำชุมชน/เยี่ยมชุมชน</label></td>
<td> </td>
</tr>
</table>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="37%" scope="col"><div align="left">
<label>
<input type="radio" name="ser_fact" value="อื่นๆ" id="RadioGroup2_4"
<?php if($result['ser_fact']=="อื่นๆ"){echo"checked";}?>/>
อื่นๆ</label>
</div></th>
<th width="63%" align="left" scope="col">ระบุ <input type="text" name="ser_fact_other" id="ser_fact_other" value="<?php echo $result[ser_fact_other];?>"/></th>
</tr>
</table>
<p><br />
</p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" scope="col"><div align="left">2.3 กลุ่มเป้าหมาย</div></th>
</tr>
<tr>
<td width="4%"> </td>
<td width="96%">
<?php
$sql="select * from p_target order by tg_id asc";
$dbquery=mysql_query($sql)or die(mysql_error());
while($result=mysql_fetch_assoc($dbquery)){
$sql3="select * from p_service_target,service_tb where tg_id='$result[tg_id]'
and service_tb.service_id=p_service_target.ss_id
and service_id='".$_GET[service_id]."'";
$dbquery3=mysql_query($sql3) or die(mysql_error());
$num_rows3=mysql_num_rows($dbquery3);
if($num_rows3>0){
$i=0;
$check="checked";
}else{$check="";}
echo"<input type='checkbox' name='tg_id[]' id='tg_id".$i."' value=$result[tg_id] $check> $result[tg_name]<br>";
}
?>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<?php
require_once"includes/connect_db.php";
$sql = "SELECT * FROM service_tb WHERE service_id='".$_GET[service_id]."'";
$dbquery = mysql_query($sql)or die(mysql_error());
$result=mysql_fetch_assoc($dbquery);
?>
<td colspan="2"><span class="list">ระบุเพิ่มเติม
<input type="text" name="ser_tg_other" id="ser_tg_other" value="<?php echo $result[ser_tg_other];?>"/>
</span></td>
</tr>
<tr>
<td colspan="2">
<label for="dis_id"><strong>ระบุความพิการ</strong>
<select name="dis_id" id="dis_id">
<?php
$sql4 = "select * from p_disable order by dis_id ";
$dbquery4 = mysql_query( $sql4);
$num_rows4 = mysql_num_rows($dbquery4);
if($num_rows4 >0){
While ($result4 = mysql_fetch_assoc($dbquery4))
{
if($result[dis_id]==$result4[dis_id]){$select4="selected";}else{ $select4=""; }
echo"<option value=$result4[dis_id] $select4> $result4[dis_name] </option>";
}
}?>
</select>
</label></td>
</tr>
</table>
<p><br />
<br />
<legend> ส่วนที่ 3 :: การวินิจฉัยหรือประเมินปัญหา (diagnosis and assessment)</legend>
</p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" scope="col"><div align="left">สภาพปัญหาที่พบ</div></th>
</tr>
<tr>
<td colspan="2">
<?php
$sql="select * from p_problem order by pb_id asc";
$dbquery=mysql_query($sql)or die(mysql_error());
while($result=mysql_fetch_assoc($dbquery)){
$sql6="select * from p_service_ploblem,service_tb where pb_id='$result[pb_id]'
and service_tb.service_id=p_service_ploblem.ss_id
and service_id='".$_GET[service_id]."'";
$dbquery6=mysql_query($sql6) or die(mysql_error());
$num_rows6=mysql_num_rows($dbquery6);
if($num_rows6>0){
$i=0;
$check="checked";
}else{$check="";}
echo"<input type='checkbox' name='pb_id[]' id='pb_id".$i."' value=$result[pb_id] $check> $result[pb_name]<br>";
}
?>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="34%" valign="top">รายละเอียด</td>
<?php
require_once"includes/connect_db.php";
$sql = "SELECT * FROM service_tb WHERE service_id='".$_GET[service_id]."'";
$dbquery = mysql_query($sql)or die(mysql_error());
$result=mysql_fetch_assoc($dbquery);
?>
<td width="66%"><textarea name="ser_pb_detail" id="ser_pb_detail" cols="45" rows="5"><?php echo $result[ser_pb_detail];?></textarea></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td valign="top">สภาพปัญหาที่พบและ<br />บันทึกเพิ่มเติม</td>
<td><textarea name="ser_pb_memo" id="ser_pb_memo" cols="45" rows="5"><?php echo $result[ser_pb_memo];?></textarea></td>
</tr>
</table>
<p><br /><br />
</p>
<p>
<legend> ส่วนที่ 4 :: การวางแผนให้ความช่วยเหลือ (planning and intervention)</legend>
</p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="33%" align="left" valign="top" scope="col">เฉพาะหน้า/เร่งด่วน/ระยะสั้น</th>
<th width="67%" align="left" scope="col"><textarea name="ser_short" id="ser_short" cols="45" rows="5"><?php echo $result[ser_short];?></textarea></th>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td valign="top">ระยะยาว/ป้องกันการเกิดปัญหาซ้ำ</td>
<td><textarea name="ser_long" id="ser_long" cols="45" rows="5"><?php echo $result[ser_long];?></textarea></td>
</tr>
</table>
<p><br />
</p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="left" scope="col">การดำเนินการให้ความช่วยเหลือตามแผน (implementation)</th>
</tr>
<tr>
<td colspan="2">
<?php
$sql="select * from p_help_sub order by hs_id asc";
$dbquery=mysql_query($sql)or die(mysql_error());
while($result=mysql_fetch_assoc($dbquery)){
$sql7="select * from p_service_help,service_tb where hs_id='$result[hs_id]'
and service_tb.service_id=p_service_help.ss_id
and service_id='".$_GET[service_id]."'";
$dbquery7=mysql_query($sql7) or die(mysql_error());
$num_rows7=mysql_num_rows($dbquery7);
if($num_rows7>0){
$i=0;
$check="checked";
}else{$check="";}
echo"<input type='checkbox' name='help_id[]' id='help_id".$i."' value=$result[hs_id] $check> $result[hs_name]<br>";
}
?>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<?php
require_once"includes/connect_db.php";
$sql = "SELECT * FROM service_tb WHERE service_id='".$_GET[service_id]."'";
$dbquery = mysql_query($sql)or die(mysql_error());
$result=mysql_fetch_assoc($dbquery);
?>
<td width="37%" height="89" valign="top">ข้อมูลเพิ่มเติม </td>
<td width="63%" valign="top"><textarea name="ser_help_other" id="ser_help_other" cols="45" rows="5"><?php echo $result[ser_help_other];?></textarea></td>
</tr>
</table>
<p><br />
</p>
<p align="center">
<label for="ser_rs_result"></label>
</p>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="37%" align="left" valign="top" scope="col">ความพร้อมของผู้ป่วย
<p>และครอบครัว</th>
<th width="63%" align="left" scope="col"><textarea name="ser_aptness" id="ser_aptness" cols="45" rows="5"><?php echo $result[ser_aptness];?></textarea></th>
</tr>
<tr>
<td valign="top">ข้อมูลเพิ่มเติม </td>
<td><textarea name="ser_memo" id="ser_memo" cols="45" rows="5"><?php echo $result[ser_memo];?></textarea></td>
</tr>
</table>
</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="14%" align="left" scope="col">ผู้บันทึก</th>
<th width="86%" align="left" scope="col"><?php echo $result[ser_username];?></th>
</tr>
<tr>
<td>วันที่บันที่</td>
<td><?php echo $ser_date;?></td>
</tr>
<tr>
<td>เวลาบันทึก</td>
<td><?php echo $result[ser_time];?></td>
</tr>
</table>
<center>
<p> </p>
<p> </p>
<p>
<input class="btn btn-large btn-inverse"type="submit" name="button"id="button" value="บันทึก">
</p>
</center>
</form>
</td>
</tr>
<tr>
<td colspan="2" ><?php include"footer.php";?></td>
</tr>
</table>
หน้า service_update.php
<?php
$T= $_POST[service_id];
echo "<script>alert('$T')</script>";
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[admit]);
$begin_year=$begin_year-543;
$admit="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
list($begin_day,$begin_month,$begin_year) = explode("-",$_POST[dc]);
$begin_year=$begin_year-543;
$dc="$begin_year-$begin_month-$begin_day"; //กำหนดวันแบบ คศ
require_once"includes/connect_db.php";
$sql="update service_tb set
ser_caseno='".$_POST['ser_caseno']."',
rok_id='".$_POST['des_id']."',
ward='".$_POST['ward']."',
clinic='".$_POST['clinic']."',
plan='".$_POST['plan']."',
action='".$_POST['action']."',
admit='".$admit."',
dc='".$dc."',
ser_receive='".$_POST['ser_receive']."',
ser_receive_other='".$_POST['ser_receive_other']."',
ser_fact='".$_POST['ser_fact']."',
ser_fact_other='".$_POST['ser_fact_other']."',
ser_tg_other='".$_POST['ser_tg_other']."',
dis_id='".$_POST['dis_id']."',
ser_pb_detail='".$_POST['ser_pb_detail']."',
ser_pb_memo='".$_POST['ser_pb_memo']."',
ser_short='".$_POST['ser_short']."',
ser_long='".$_POST['ser_long']."',
ser_help_other='".$_POST['ser_help_other']."',
ser_aptness='".$_POST['ser_aptness']."',
ser_memo='".$_POST['ser_memo']."'
where service_id='".$_POST['service_id']."'
";
$dbquery = mysql_query($sql)or die(mysql_error());
$service_id=$_POST['service_id'];
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "update p_service_target set
ss_id='".$service_id."',
tg_id='".$tg_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery2 = mysql_query($sql2)or die(mysql_error());
}
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "update p_service_ploblem set
ss_id='".$service_id."',
pb_id='".$pb_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery3 = mysql_query($sql3)or die(mysql_error());
}
foreach($_POST[help_id] as $help_id_value){
$sql4 = "update p_service_help set
ss_id='".$service_id."',
hs_id='".$help_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery4 = mysql_query($sql4)or die(mysql_error());
}
echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว'); window.location.href ='service_detail.php';</script>";
?>
Date :
2014-11-06 08:45:56
By :
meimeii
Code (PHP)
$service_id=$_POST['service_id'];
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "update p_service_target set
ss_id='".$service_id."',
tg_id='".$tg_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery2 = mysql_query($sql2)or die(mysql_error());
}
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "update p_service_ploblem set
ss_id='".$service_id."',
pb_id='".$pb_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery3 = mysql_query($sql3)or die(mysql_error());
}
foreach($_POST[help_id] as $help_id_value){
$sql4 = "update p_service_help set
ss_id='".$service_id."',
hs_id='".$help_id_value."'
where ss_id='".$_POST['service_id']."'";
$dbquery4 = mysql_query($sql4)or die(mysql_error());
}
คำสั่ง update ด้านบน ให้เปลี่ยนเป็น REPLACE INTO
คำสัง REPLACE INTO นี้ ทำงาน คล้าย INSERT INTO ต่างกันว่า ถ้ามี เรคคอร์ด ซ้ำ จะ ลบของเก่าก่อน เพิ่มของใหม่
เวลา ใช้ ควรใส่ข้อมูล ให้ครบนะครับเพื่อความถูกต้อง
Code (PHP)
$service_id=$_POST['service_id'];
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "REPLACE INTO p_service_target set ss_id='$service_id', tg_id='$tg_id_value' ";
$dbquery2 = mysql_query($sql2)or die(mysql_error());
}
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "REPLACE INTO p_service_ploblem set ss_id='$service_id', pb_id='$pb_id_value' ";
$dbquery3 = mysql_query($sql3)or die(mysql_error());
}
foreach($_POST[help_id] as $help_id_value){
$sql4 = "REPLACE INTO p_service_help set ss_id='$service_id', hs_id='$help_id_value' ";
$dbquery4 = mysql_query($sql4)or die(mysql_error());
}
ประวัติการแก้ไข 2014-11-06 09:45:37
Date :
2014-11-06 09:40:59
By :
Chaidhanan
REPLACE INTO ได้ความรู้ใหม่เลย ขอบคุณมากๆเลยค่ะสำหรับคำแนะนำ
แก้ไขแล้วค่ะ มันมีค่าเพิ่มขึ้น แต่ไม่ลบอันเดิมให้ เหมือนสมมุติเลือก 1 2 3 แล้วแก้ไขเป็น 1 2 4 มันก็ จะมีทั้งหมด 6 รายการ มีรายการซ้ำด้วยค่ะ
Date :
2014-11-06 14:25:55
By :
meimeii
ลืมบอกไปครับ มันอ้างอิง primary key หรือ unique key ครับ
วิเคราะห์ใหม่แล้ว เนื่องจาก ss_id ไม่ได้เป็น unique มีหลายอันได้ แล้วไม่สามารถใช้ primary key มาเป็นตัวกำหนดได้
ควรจะทำการ ลบ ข้อมูลเก่าออกก่อนครับ เพราะ มันจะซ้ำกัน และถ้าลบข้อมูลเก่า ก็ insert ได้เลยครับ ไม่ต้อง replace
Code (PHP)
$service_id=$_POST['service_id'];
mysql_query('delete from p_service_target where ss_id=$service_id');
foreach($_POST[tg_id] as $tg_id_value){
$sql2= "INSERT INTO p_service_target set ss_id='$service_id', tg_id='$tg_id_value' ";
$dbquery2 = mysql_query($sql2)or die(mysql_error());
}
mysql_query('delete from p_service_ploblem where ss_id=$service_id');
foreach($_POST[pb_id] as $pb_id_value){
$sql3 = "INSERT INTO p_service_ploblem set ss_id='$service_id', pb_id='$pb_id_value' ";
$dbquery3 = mysql_query($sql3)or die(mysql_error());
}
mysql_query('delete from p_service_help where ss_id=$service_id');
foreach($_POST[help_id] as $help_id_value){
$sql4 = "INSERT INTO p_service_help set ss_id='$service_id', hs_id='$help_id_value' ";
$dbquery4 = mysql_query($sql4)or die(mysql_error());
}
Date :
2014-11-06 15:25:20
By :
Chaidhanan
สำเร็จแล้วค่ะคุณอา ขอบคุณมากๆเลยค่ะที่อุส่าเป็นธุระให้ > <
Date :
2014-11-06 16:27:10
By :
meimeii
Load balance : Server 05