|
|
|
แก้ไขไม่ได้ ดิฉันได้เช็คข้อมูลซ้ำก่อนแก้ไข ผิดตรงไหนค่ะ ช่วยดูหน่อยค่ะ |
|
|
|
|
|
|
|
ผมไม่ได้เช็ค code โดยรวมนะ
พอดีเห็นตรงนี้เลยแนะนำก่อน
$strSQL .="WHERE rname = '".trim($_POST["txtRoomName"])."' "; ตรงนี้ถ้า update อ้างไปที่ id จะดีกว่าครับ เคยทำอ้างฟิลด์ที่ไม่ได้เป็น id มันจะ งง ๆ บอกไม่ถูก ลองเปลี่ยนตรงนี้ก่อนนะครับ
พื้นฐาน
Go to : PHP MySQL Edit/Update Record
|
|
|
|
|
Date :
2012-09-19 16:01:38 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่าา
อยากเพิ่ม id ยุค่ะ แต่เดิมมันไม่มี id แต่ไม่กล้าเพิ่มของเขา
|
|
|
|
|
Date :
2012-09-19 16:07:37 |
By :
Poster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$strSQL = "SELECT * FROM room WHERE rname = '".trim($_POST["txtRoomName"])."' ";
$objQuery = mysql_query($strSQL);
$numRows = mysql_num_rows($objQuery);
if($numRows > 0)
{
echo "<script>alert('ชื่อห้องซ้ำ ไม่สามารถบันทึกข้อมูลได้')</script>";
echo "<script>window.location='addRoom.php'</script>";
}
else
{
$strSQL2 = "UPDATE room SET ";
$strSQL2 .="rname = '".trim($_POST["txtRoomName"])."' ";
$strSQL2 .=",tname = '".trim($_POST["txtTeacherClass"])."' ";
$strSQL2 .=",CNAME = '".$_POST["txtClass"]."' ";
$strSQL2 .=",ccode = '".$_POST["txtMor"]."' ";
$strSQL2 .=",cclass = '".$_POST["txtphase"]."' ";
$strSQL2 .=",class = '".$_POST["txtlevel"]."' ";
$strSQL2 .="WHERE rname = '".trim($_POST["txtRoomName"])."' ";
$objQuery2 = mysql_query($strSQL2);
if($objQuery2)
{
echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว')</script>"; //แก้ไขไม่ได้ แล้วมันเข้าเงื่อนไขนี้ค่ะ
echo "<script>window.location='listRoom.php'</script>";
}
else
{
echo "<script>alert('ไม่สามารถบันทึกข้อมูลได้')</script>";
echo "<script>window.location='editRoom.php'</script>";
}
}
?>
ลองดูครับ ว่าได้ไหม...
|
ประวัติการแก้ไข 2012-09-19 16:10:29
|
|
|
|
Date :
2012-09-19 16:10:05 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แม้กระทั่งฟิลด์ auto_increment ก็ไม่มีหร๋อครับ
ใครทำ db ช่างโหดร้ายแท้ ยังไงก็ลองทำตาม code ด้านบน ของคุณ pokultra นะครับ
พยายามครับ
|
|
|
|
|
Date :
2012-09-19 16:18:39 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่า
ลองทำตามแล้ว แก้ไขไม่ได้อยู่ดีค่ะ
|
|
|
|
|
Date :
2012-09-19 16:29:30 |
By :
Poster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าลองเอา code ที่เกี่ยวข้องมาดูทั้งหมดดีกว่าครับ
เป็นไปได้ เอาตาราง room มาดูด้วยครับ ^^
|
|
|
|
|
Date :
2012-09-19 16:35:43 |
By :
pokultra |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. ลองใส่ or die() เพื่อดูว่ามีอะไรผิดบ้างมั๊ย
$objQuery = mysql_query($strSQL) or die(mysql_error()."<br />".$strSQL);
2.ในกรณีที่อัพเดทไม่ได้อาจเกิดจากไม่มีเรคคอร์ดนั้นอยู่จริงๆ
|
|
|
|
|
Date :
2012-09-19 16:37:33 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo $strSQL อันบนกับล่าง
ออกมาดูครับ แล้วลองเอา ไป รันใน database เลยว่าได้ไหม
|
|
|
|
|
Date :
2012-09-19 16:38:12 |
By :
tongspy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูไฟล์ editRoom.php หน่อยครับ
งงๆ กับ WHERE โอกาสเกิดข้อมูลซ้ำ หลังจาก update ก็มี
Code (PHP)
$strSQL2 .="rname = '".trim($_POST["txtRoomName"])."' ";
$strSQL2 .="WHERE rname = '".trim($_POST["txtRoomName"])."' ";
|
|
|
|
|
Date :
2012-09-19 17:08:21 |
By :
poomloom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
editRoom.php
$room = $_POST['txtroom'];
$roomSQL = " SELECT *
FROM room
WHERE rname = '".$room."' ";
$roomQuery = mysql_query($roomSQL);
$row_room = mysql_fetch_array($roomQuery);
<table width="900px" class="outter">
<tr>
<td>
<table class="text" border="0" cellpadding="4" cellspacing="3" width="100%">
<tr height="40px">
<td colspan="2" class="formHeading">สร้างห้องเรียน</td>
</tr>
<tr>
<td colspan="2" class="note" bgcolor="#E0F0E8">Field marked with <span style="color:#FF0000">*</span> are compulsory fields
</td>
</tr>
<tr height="10px">
<td colspan="2"></td>
</tr>
<form action="saveeditRoom.php" name="addRoomform" method="post">
<input size="20" class="input" type="hidden" name="txtroomID" id="txtroomID" value="<?=$row_room['roomID'];?>">
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ชื่อห้อง</td>
<td><input size="20" class="input" type="txt" name="txtRoomName" id="txtRoomName" value="<?=$room?>"></td>
</tr>
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ชื่อครูประจำชั้น</td>
<td><input size="40" class="input" type="txt" name="txtTeacherClass" id="txtTeacherClass" value="<?=$row_room['tname'];?>"></td>
</tr>
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ระดับชั้น</td>
<td>
<?php $class=$row_room['CNAME'];?>
<select class="input" name="txtClass" id="txtClass" style="width:145px" >
<option value="">----เลือก---</option>
<option value="ประถมศึกษาปีที่1" <?php if($class=='ประถมศึกษาปีที่1')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 1</option>
<option value="ประถมศึกษาปีที่2" <?php if($class=='ประถมศึกษาปีที่2')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 2</option>
<option value="ประถมศึกษาปีที่3" <?php if($class=='ประถมศึกษาปีที่3')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 3</option>
<option value="ประถมศึกษาปีที่4" <?php if($class=='ประถมศึกษาปีที่4')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 4</option>
<option value="ประถมศึกษาปีที่5" <?php if($class=='ประถมศึกษาปีที่5')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 5</option>
<option value="ประถมศึกษาปีที่6" <?php if($class=='ประถมศึกษาปีที่6')echo 'selected="selected"';?>>ประถมศึกษาปีที่ 6</option>
<option value="มัธยมศึกษาปีที่1" <?php if($class=='มัธยมศึกษาปีที่1')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 1</option>
<option value="มัธยมศึกษาปีที่2" <?php if($class=='มัธยมศึกษาปีที่2')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 2</option>
<option value="มัธยมศึกษาปีที่3" <?php if($class=='มัธยมศึกษาปีที่3')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 3</option>
<option value="มัธยมศึกษาปีที่4" <?php if($class=='มัธยมศึกษาปีที่4')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 4</option>
<option value="มัธยมศึกษาปีที่5" <?php if($class=='มัธยมศึกษาปีที่5')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 5</option>
<option value="มัธยมศึกษาปีที่6" <?php if($class=='มัธยมศึกษาปีที่6')echo 'selected="selected"';?>>มัธยมศึกษาปีที่ 6</option>
</select>
</td>
</tr>
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ระดับชั้น (แบบย่อ)</td>
<td>
<?php $Mor=$row_room['ccode'];?>
<select class="input" name="txtMor" id="txtMor" style="width:145px" >
<option value="">----เลือก---</option>
<option value="ป1" <?php if($Mor=='ป1')echo 'selected="selected"';?>>ป1</option>
<option value="ป2" <?php if($Mor=='ป2')echo 'selected="selected"';?>>ป2</option>
<option value="ป3" <?php if($Mor=='ป3')echo 'selected="selected"';?>>ป3</option>
<option value="ป4" <?php if($Mor=='ป4')echo 'selected="selected"';?>>ป4</option>
<option value="ป5" <?php if($Mor=='ป5')echo 'selected="selected"';?>>ป5</option>
<option value="ป6" <?php if($Mor=='ป6')echo 'selected="selected"';?>>ป6</option>
<option value="ม1" <?php if($Mor=='ม1')echo 'selected="selected"';?>>ม1</option>
<option value="ม2" <?php if($Mor=='ม2')echo 'selected="selected"';?>>ม2</option>
<option value="ม3" <?php if($Mor=='ม3')echo 'selected="selected"';?>>ม3</option>
<option value="ม4" <?php if($Mor=='ม4')echo 'selected="selected"';?>>ม4</option>
<option value="ม5" <?php if($Mor=='ม5')echo 'selected="selected"';?>>ม5</option>
<option value="ม6" <?php if($Mor=='ม6')echo 'selected="selected"';?>>ม6</option>
</select>
</td>
</tr>
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ช่วงชั้น</td>
<td>
<?php $phase=$row_room['cclass'];?>
<select class="input" name="txtphase" id="txtphase" style="width:145px" >
<option value="">----เลือก---</option>
<option value="ช่วงชั้นที่ 1" <?php if($phase=='ช่วงชั้นที่ 1')echo 'selected="selected"';?>>ช่วงชั้นที่ 1</option>
<option value="ช่วงชั้นที่ 2" <?php if($phase=='ช่วงชั้นที่ 2')echo 'selected="selected"';?>>ช่วงชั้นที่ 2 </option>
<option value="ช่วงชั้นที่ 3" <?php if($phase=='ช่วงชั้นที่ 3')echo 'selected="selected"';?>>ช่วงชั้นที่ 3 </option>
<option value="ช่วงชั้นที่ 4" <?php if($phase=='ช่วงชั้นที่ 4')echo 'selected="selected"';?>>ช่วงชั้นที่ 4</option>
</select>
</td>
</tr>
<tr>
<td align="right" bgcolor="#E0F0E8"><span style="color:#FF0000">*</span>ชั้นปี</td>
<td>
<?php $level=$row_room['class'];?>
<select class="input" name="txtlevel" id="txtlevel" style="width:145px">
<option value="">----เลือก---</option>
<option value="ชั้นปีที่ 1" <?php if($level=='ชั้นปีที่ 1')echo 'selected="selected"';?>>ชั้นปีที่ 1</option>
<option value="ชั้นปีที่ 2" <?php if($level=='ชั้นปีที่ 2')echo 'selected="selected"';?>>ชั้นปีที่ 2 </option>
<option value="ชั้นปีที่ 3" <?php if($level=='ชั้นปีที่ 3')echo 'selected="selected"';?>>ชั้นปีที่ 3 </option>
</select>
</td>
</tr>
<tr>
<td></td>
<td height="30">
<input value="บันทึก" class="btnbg" type="submit">
<input value="ล้างข้อมูล" class="btnbg" type="reset">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
|
|
|
|
|
Date :
2012-09-21 10:22:46 |
By :
Poster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตาราง room
***** tname คือ ชื่อครูประจำชั้น
|
ประวัติการแก้ไข 2012-09-21 10:29:02
|
|
|
|
Date :
2012-09-21 10:28:06 |
By :
Poster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|