การแก้ไขข้อมูล - ผมมีปัญหาเรื่องแก้ไขข้อมูลสมมุติว่าผมแก้ไขข้อมูล
ผมมีปัญหาเรื่องแก้ไขข้อมูลสมมุติว่าผมแก้ไขข้อมูลที่ 1 ไปแล้วๆจะมาแก้ไขข้อมูลที่2ปรากฎว่าหน้าฟอร์มแก้ไขมันจำข้อมูลของข้อมูลที่1อยู่จะมีวิธีแก้มั้ยครับ
formedit
<?
$host="localhost";
$username="root";
$password="3118";
$db="dep";
$tb="service";
//h("../connect/connect.php");
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb ";
$db_query=mysql_db_query($db,$sql);
$result = mysql_fetch_array ($db_query);
$id=$result[id];
$name=$result[name];
$sname=$result[sname];
$day=$result[day];
$month=$result[month];
$year=$result[year];
$t=$result[t];
$tel=$result[tel];
$location=$result[location];
$type=$result[type];
$maintainance=$result[maintainance];
$level=$result[level];
?>
<div id="Layer7"><img src="image/main page/images/template83_r1_c6.jpg" width="251" height="77" /> <img src="image/main page/images/template83_r1_c8.jpg" width="387" height="77" />
<div id="Layer"></div>
</div>
<form name="form1" method="post" action="reply_user2.php">
<div id="apDiv5"><img src="image/TL1_dep.jpg" width="219" height="34" /></div>
<p align="center" class="style1"> </p>
<div id="apDiv1"></div>
<div id="apDiv2"></div>
<div id="apDiv3"></div>
<div id="apDiv4"></div>
<p align="center" class="style1"> </p>
<p align="center" class="style1 style2 style3">แจ้งสถานะซ่อม</p>
<div align="center"><span class="style4">ครุภัณฑ์:</span>
<input type="text" name="id" value="<? echo"$id"; ?>">
&span class="style2"><span class="style4">ชื่อ:</span>
<input type="text" name="name" value="<? echo"$name";?>">
</span>
<p align="center"><span class="style4">นามสกุล:</span><span class="style2">
<input type="text" name="sname" value="<? echo"$sname";?>">
</span> </p>
<p align="center"><span class="style4">เบอร์โทร:</span>
<input type="text" name="tel" value="<? echo"$tel";?>">
</p>
<p align="center"><span class="style2"> </span><span class="style4">สถานที่ตั้ง:</span>
<input type="text" name="location" value="<? echo"$location";?>">
<br>
</p>
<p align="center"><span class="style2"> </span><span class="style4"> ประเภท:</span>
<input type="text" name="type" value="<? echo"$type";?>">
<br>
</p>
<p align="center"><span class="style2"> </span><span class="style4">ประวัติซ่อม:</span>
<textarea name="maintainance" cols="35" rows="4"><? echo"$maintainance";?></textarea>
<p align="center"><span class="style4">สถานะการซ่อม:</span>
<input type="text" name="level" value="<? echo"$level";?>" />
<p align="center"> </p>
<p align="center">
<input type="submit" name="Submit" value="บันทึกข้อมูล">
<input type="reset" name="Submit2" value="Clear">
</p>
<p align="center"> </p>
<p align="center"> </p>
</form>
<?
mysql_close($connect);
?>
</body>
</html>
codesave
<?
$host="localhost";
$username="root";
$password="3118";
$db="dep";
$tb="service";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="update $tb set
name='$name',sname='$sname',tel='$tel',location='$location',
type='$type',maintainance='$maintainance',level='$level' where id=$id";
//echo $sql;
$db_query=mysql_db_query($db,$sql);
echo "แก้ไขข้อมูลเรียบร้อยแล้ว ";
mysql_close();
?>
</p>
<form action="report_service.php" method="post" name="form1" target="_parent" id="form1">
<label>
<input type="submit" name="button" id="button" value="ดูข้อมูล" />
</label>
</form>
<p> </p>
<p> </p>
<div id="apDiv3"></div>
<div id="apDiv4"></div>
<p> </p>
<p> </p>
</div>
</body>
</html> Tag : - - - -
Date :
2009-03-02 23:57:52
By :
yutthana11
View :
1122
Reply :
6
ผมสังเกตุนะคับ ในไฟล์ codesave ของคุณบันทึกได้ถูกต้องแล้ว
Code
<?
$sql="update $tb set
name='$name',sname='$sname',tel='$tel',location='$location',
type='$type',maintainance='$maintainance',level='$level' where id=$id";
?>
โดยระบุว่าให้อัพลงใน id ที่มีค่าเท่ากับ $id
แต่ทว่าในฟอร์มแก้ไข
Code
<?
$sql="select * from $tb ";
?>
เรียกดื้อๆโดยไม่ระบุว่าเอา id ไหนขึ้นมาแก้แบบนี้ มันก็โชว์แถวแรกตลอดล่ะคับ ใส่ where ให้มันด้วยซิครับ
Date :
2009-03-03 01:21:31
By :
zankumuro
Code
<?
$sql="select * from $tb id=$id";
?>
ตรง $id ส่งค่ามาจากไหนคับ
ผมเข้าใจว่าคุฯน่าจะใส่$i $id เข้าไปเฉยๆเลย คือยังไม่มีการกำหนดค่า $id ให้กับมัน มันเลยขึ้น error ฟ้องแบบนั้น
ลองแบบนี้ดูนะคับ
Code
<?
$id = $_GET['id'];
$sql="select * from $tb id=$id";
?>
แล้วเวลาเรียกปกติคุณเรียกประมาณนี้ใช่ไหมคับ http://localhost/test.php
ลองกำหนด id ที่จะแก้ไขให้มันแบบนี้คับ http://localhost/test.php?id=4
เปลี่ยนเลขหลัง id เป็นจำนวนแถวที่จะแก้ไข ลองดูคับ
Date :
2009-03-03 07:46:55
By :
zankumuro
อ่อ เพิ่มเติมนิดนะคับ เมื่อกี้รีบไปหน่อย จะไปทำงาน
Code
<?
$sql="select * from $tb id=$id";
?>
มัน error แน่นอนคับ รูปแบบที่ถูกต้องจะต้องเป็น
Code
<?
$sql="select * from $tb where id=$id";
?>
Date :
2009-03-03 07:48:52
By :
zankumuro
เดี๋ยวผมจะลองดูนะครับ
Date :
2009-03-03 08:02:47
By :
yutthana11
ได้แล้วครับ ขอบคุณมากๆครับ
Date :
2009-03-03 08:04:35
By :
yutthana11
Load balance : Server 02