ช่วยผมหน่อยครับ เรื่องอัพเดตข้อมูลใน table คือ ผมได้อ่านจากตรงบทเรียน php น่ะครับ อันนี้น่ะ
คือ ผมได้อ่านจากตรงบทเรียน php น่ะครับ อันนี้น่ะ
http://www.older.thaicreate.com/description_tutor.php?frame=DisplayTrue&id=65
ผมได้ลองทำตามแล้ว เปลี่ยนเป็นข้อมูลของผม แล้วมันก็ยังอัพเดตไม่ได้น่ะครับ(ผมลองเอาของเค้ามาหมดเลยโดยที่ไม่เปลี่ยนเป็นของผม ก็ยังอัพเดตไม่ได้)
คิดว่าน่าจะติดตรง $result = mysql_fetch_array($db_query); น่ะครับ ให้พี่ๆช่วยหน่อย
ลองดูโค๊ดผมหน่อยนะครับ อันนี้เป็นส่วนที่จะแก้ไขข้อมูล 3 ไฟล์
อันนี้หน้าค้นหา
<html>
<body bgcolor="#FFFFFF">
<form name="form1" method="post" action="search.php">
ชื่อที่ต้องการค้นหา
<input type="text" name="keyword" value="<? echo"$keyword"; ?>">
จาก Filed
<select name="fields">
<option value="<?echo "$fields"; ?>"><?echo "$fields"; ?></option>
<option value="sheetid">เลขหนังสือ</option>
<option value="govid">เลขรับจากทะเบียนรับหนังสือราชการ</option>
<option value="date">วันที่รับเอกสาร</option>
<option value="owner">เจ้าของเรื่อง</option>
<option value="comment">รายละเอียดคร่าวๆ</option>
</select>
<input type="submit" name="Submit" value="ค้นหา">
</form>
<hr>
<?
if (empty($keyword) or empty($fields))
{
echo"กรุณาเลือกรายการค้นหา ด้วยครับ";
exit();
}
else
{
$host="localhost";
$username="";
$password="";
$db="hospital";
$tb="sheet";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); /* ทำการเลือกฐานข้อมูลก่อน */
$sql="SELECT * FROM $tb where $fields like '%$keyword%'";
$db_query=mysql_db_query($db,$sql);
$num_rows=mysql_num_rows($db_query); /* นับ Reccord ที่พบ */
if(empty($num_rows)) /* ตรวจสอบว่ามีอยู่หรือยัง */
{
echo"<center><br>ไม่พบข้อมูล <b>$keyword</b> จาก Filed <b>$fields <b> </center>";
exit();
}
else
{
?>
<div align="center"><? echo " แสดงรายการค้นหา <b>$keyword</b> จาก Field <b>$fields</b> พบ <b>$num_rows</b> Reccord "; ?><br><br>
</div>
<table width="97%" border="1" align="center">
<tr>
<td width="8%">
<div align="center">เลขหนังสือ</div>
</td>
<td width="11%">
<div align="center">เลขรับจากทะเบียนรับหนังสือราชการ</div>
</td>
<td width="10%">
<div align="center">วันที่รับ</div>
</td>
<td width="12%">
<div align="center">เจ้าของเรื่อง</div>
</td>
<td width="11%">
<div align="center">รายละเอียดคร่าวๆ</div>
</td>
<td width="20%">
<div align="center">รูปเอกสารที่เก็บไว้</div>
<td width="5%">
<div align="center">แก้ไข</div>
</td>
</tr>
</table>
<?
$a=0;
while($a < $num_rows)
{
$result = mysql_fetch_array($db_query);
$sheetid=$result[sheetid];
$govid=$result[govid];
$date=$result[date];
$owner=$result[owner];
$comment=$result[comment];
$image=$result[image];
?>
<table width="97%" border="1" align="center">
<tr>
<td width="8%">
<?echo"$sheetid";?>
</td>
<td width="11%">
<?echo"$govid";?>
</td>
<td width="10%">
<?echo"$date";?>
</td>
<td width="12%">
<?echo"$owner";?>
</td>
<td width="11%">
<?echo"$comment";?>
</td>
<td width="20%">
<?echo"$image";?>
</td>
<td width="5%">
<div align="center"><a href="search2.php?id=<?echo"$sheetid"; ?>">แก้ไข</a></div>
</td>
</tr>
</table>
<?
$a++;
}
}
}
?>
</body>
</html>
ถัดมาเป็นหน้าแก้ไข
<html>
<body bgcolor="#FFFFFF">
<?
$host="localhost";
$username="";
$password="";
$db="hospital";
$tb="sheet";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where id=$id";
$db_query=mysql_db_query($db,$sql);
$result = mysql_fetch_array($db_query);
$sheetid=$result[sheetid];
$govid=$result[govid];
$date=$result[date];
$owner=$result[owner];
$comment=$result[comment];
$image=$result[image];
?>
<form name="form1" method="post" action="search3.php">
<p>แก้ไขข้อมูล<br>
เลขหนังสือ
<?echo"<b>$id</b>";?>
<input type="hidden" name="sheetid" value="<? echo"$sheetid"; ?>">
<br>
เลขรับจากทะเบียนรับหนังสือราชการ
<input type="text" name="govid" value="<? echo"$govid";?>">
<br>
วันที่รับ
<input type="text" name="date" value="<? echo"$date";?>">
<br>
เจ้าของเรื่อง
<input type="text" name="owner" value="<? echo"$owner";?>">
<br>
รายละเอียดคร่าวๆ
<input type="text" name="comment" value="<? echo"$comment";?>">
<br>
รูปเอกสารที่เก็บไว้
<input type="file" name="image" value="<? echo"$image";?>">
<br>
</p>
<p>
<input type="submit" name="Submit" value="บันทึกข้อมูล">
<input type="reset" name="Submit2" value="Clear">
</p>
</form>
<?
mysql_close($connect);
?>
</body>
</html>
ส่วนนี้เป็นหน้าอัพเดตนะครับ
<?
$host="localhost";
$username="";
$password="";
$db="hospital";
$tb="sheet";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="update $tb set sheetid='$sheetid',govid='$govid',date='$date',owner='$owner',comment='$comment',image='$image' where id=$id";
$db_query=mysql_db_query($db,$sql);
echo "แก้ไขข้อมูลเรียบร้อยแล้ว ";
mysql_close();
?>
ช่วยผมหน่อยครับ มันเป็นงานที่ต้องส่งอาจารย์แต่อาจารย์ไม่ได้สอน(ศึกษาด้วยตนเอง จากเวปนี้เลยครับ) ขอร้องให้พี่ๆช่วยลองแก้ให้หน่อยครับ อธิบายนิดนึงก็ดี แหะๆ ขอบคุณครับTag : - - - -
Date :
25 พ.ค. 2548 11:34:30
By :
JustiC'
View :
2591
Reply :
5
ผมว่าน่าจะเป้นที่ pass ของ mysql นะ หรือไม่ก็ดูดีๆที่
ฟิลด์ ว่าชื่อถูกต้องและครบหรือป่าว เคยเจอปัญหานี้เหมือนกัน
ของผมติดตรงที่ใส่ฟิลด์ไม่ครบน่ะตอนสั่งอัพเดต
Date :
25 พ.ค. 2548 13:32:21
By :
ผู้น้อย
พาสของ mysql ถูกแล้วน่ะครับ เพราะ อันอื่นก็ทำได้หมด ติดตรงแก้ไขนี่แหละ
เด๋วผมจะลองไล่ดูชื่อฟิลด์อีกที
****อาการของผมมันแก้ไขอะไรไม่ได้เลยน่ะ พอกดจะแก้ไข มันก็ขึ้นฟอร์มแก้ไขขึ้นมา แก้เสร็จ พอกดตกลง มันก็บอกแก้ไขเรียบร้อย แต่ไม่มีอะไรเกิดขึ้น (ไม่ติดเออเร่อนะครับ รันผ่าน)
เคยแก้ไปแก้มา ตรง $sql="select * from $tb where id=$id";
$db_query=mysql_db_query($db,$sql);
$result = mysql_fetch_array($db_query);
ก็เออเร่อ ตัว $result = mysql_fetch_array($db_query); นี่น่ะครับ แค่เปลี่ยนจาก id เป็น sheetid (ตารางผมมี id เป็น auto increase อีกตัว แต่ไม่ใด้ใช้แสดงอะไร แค่ใส่ไว้ทำอินเด็กซ์เฉยๆน่ะครับ
ขอบคุณพี่ที่เข้ามาช่วยค้าบ ช่วยต่อด้วยนา เด๋วผมจะไม่รอดซะ
Date :
25 พ.ค. 2548 14:17:37
By :
JustiC'
ถ้ารันผ่านแต่ว่าข้อมูลใน DB ไม่ได้แก้ไข
ลองใช้คำสั่ง
echo $sql; ใส่ไว้ก่อนคำสั่ง
echo "แก้ไขข้อมูลเรียบร้อยแล้ว "; ในหน้าอัพเดทดูนะครับ
พอรันแล้ว มันจะแสดงคำสั่ง sql ของเราขึ้นมาด้วย
ก็ copy คำสั่งนี้ไปลองรันดูใน DB เลยครับ
ถ้าตัวคำสั่ง sql ผิด มันจะฟ้องขึ้นมาเอง
**** อันนี้เป็นทางนึงเพื่อใช้ตรวจสอบว่าคำสั่งเราถูกหรือเปล่า ตรวจสอบตรงนี้แล้วยังไม่มีอะไรผิดพลาด
ก็ต้องลองสันนิษฐานหาที่ผิด ต่อไปละครับ ****
Date :
25 พ.ค. 2548 17:11:55
By :
หนูหนึ่งตัว
ผมทำตามที่พี่ "หนูหนึ่งตัวบอกแล้วนะครับ เอาคำสั่งที่แสดงไปรันก็ไม่เป็นไร ไม่ติดเออเร่อ แต่ก็ไม่แก้ไขให้ผมเหมือนกัน
พี่ๆพอจะเขียนโค๊ดที่มันใช้ได้ให้ผมมาเป็นแนวทางหน่อยได้ไหมครับ ผมยังใหม่กับเรื่องนี้จริงๆ ขอบคุณครับ
Date :
26 พ.ค. 2548 23:41:40
By :
JustiC'
ถึงจะรันได้ก็ยังแก้ไขไม่ได้อยู่ดีนั่นแหละ จะว่าชื่อผิดหรืออะไรก็ไม่ใช่
Date :
22 พ.ย. 2549 14:25:23
By :
อา อา
Load balance : Server 01