จะส่งค่าจาก show.php ไปแก้ไขอีกหน้านึง แต่ข้อมูลที่เลือก ดันไม่มาครับ
กดแก้ไขที่ข้อมูลแล้ว โล่งเลยครับ
Date :
2014-02-06 13:51:00
By :
az00232200
Code (PHP)
$sql = "Select position from story";
$result = mysql_query($sql);
$story = mysql_fetch_array($result)
ลืมใส่ where หรือเปล่าครับ
ถ้าเลือกเพื่อแก้ไข ต้องใส่ where ครับ
ประวัติการแก้ไข 2014-02-06 13:59:03
Date :
2014-02-06 13:56:52
By :
nutzaaclub
ตอนแรกใส่ WHERE ครับ ไม่ขึ้นอะไรเลย
พอเอา WHERE ออกแล้วใส่แค่ชื่อ table
ถึงจะขึ้นข้อมูลครับ แต่ขึ้นข้อมูลทั้งหมด ไม่ใช่ข้อมูลที่เราเลือกมา
Date :
2014-02-06 13:59:14
By :
az00232200
ยังไง ต้องใส่ where เพราะเลือกค่าออกมาแก้ไข ที่ไม่ขึ้นเพราอาจจะผิด ที่ sql ครับ ลอง ใส่ where แล้ว echo $sql
ออกมาดูครับว่า ผิดตรงไหน หรือไม่ก็ คุณ where ผิดฟิล หรือส่งค่าผิดครับ
Date :
2014-02-06 14:08:00
By :
nutzaaclub
ลองเปลี่ยน บรรทัดนี้
Code (PHP)
<td><a href="edit.php?position=<? echo "$story[position]"; ?>">แก้ไข</a></td>
เป็น
Code (PHP)
<td><a href="edit.php?position='<? echo $story[position]; ?>' ">แก้ไข</a></td>
Date :
2014-02-06 14:09:55
By :
nutzaaclub
ลืม = ใน <? ?> ครับผม
และเวลาส่งค่า ไม่ต้อง echo ครับ ตามด้านล่างนี้เลย
Code (PHP)
<td><a href="edit.php?position=<?=$story[position];?>">แก้ไข</a></td>
Date :
2014-02-06 17:03:51
By :
17196611
หรือไม่งั้นลองพิมพ์ชื่อเว็บเองนะครับ ว่าค่าขึ้นหรือเปล่า
localhost/........./edit.php?position=Pos-0001
ประมาณนี้ครับ
Date :
2014-02-06 17:05:01
By :
17196611
ที่ show.php มีค่า $_GET['position']; มีค่ามาจริงป่าว
ที่หน้า edit
$sql = 'select * from story where position ='.$_GET['position'];
ประวัติการแก้ไข 2014-02-06 22:49:33
Date :
2014-02-06 22:43:54
By :
apisitp
หน้าจะผิดบรรทัดนี้
<?PHP
$position = $_GET['position'];
$sql = "Select position from story";
$result = mysql_query($sql);
$story = mysql_fetch_array($result)
?>
ขอดู ฐานข้อมูลตารางนี้หน่อยครับ
Date :
2014-02-06 23:18:08
By :
weaned
edit.php
<?PHP
$position = $_GET['position'];
$sql = "Select * from story where position='$position' ";
$result = mysql_query($sql);
$story = mysql_fetch_array($result)
?>
saveedit.php
<?
$sql = "UPDATE story SET
rank = '$_GET[rank]',
name = '$_GET[name]',
surname = '$_GET[surname]'',
sex = '$_GET[sex]'',
mobile = '$_GET[mobile]' WHERE position ='$_GET[position]' ";
$result = mysql_db_query($dbname,$sql);
?>
ลองอันนี้อีกอัน ถ้าไม่เอา error มาดูครับ
ประวัติการแก้ไข 2014-02-06 23:27:05 2014-02-06 23:27:47
Date :
2014-02-06 23:27:06
By :
weaned
ขออนุญาตครับ ตอนนี้เรียกข้อมูลที่จะแก้ไขมาแสดงได้แล้วครับ !!!
แต่พอเวลากดบันทึกข้อมูล ข้อมูลกลับไม่เปลี่ยนแปลงตามที่เราได้แก้ไปครับ
ไฟล์ edit.php แก้ไขข้อมูล
Code (PHP)
<?
$sql = "select * from $story where position=$position";
$result = mysql_query("SELECT * FROM story WHERE position = '$_GET[position]'");
$story = mysql_fetch_array($result);
?>
<form method="post" action="sedit.php" name="savestory">
<div class="CSSTableGenerator" >
<table width="200" border="1" align="center" bordercolor="#0066FF">
<tr>
<th scope="col"><table width="749" height="137" border="0" align="center">
<tr>
<th background="img_update/header.jpg" scope="col"><div align="center">
<p class="style6"> </p>
<p class="style25"><span class="style31">แก้ไขข้อมูล</span></p>
</div> </th>
</tr>
</table>
<table height="287" bgcolor="#FFFFFF">
<tr>
<td colspan="5" align="center" bgcolor="#FF6600"><div align="center" class="style10">แก้ไขข้อมูล</div></td>
</tr>
<tr>
<td width="106" rowspan="9" bgcolor="#666666"><div align="center"></div></td>
</tr><tr>
<td width="166" align="right" bgcolor="#CCCCCC"><span class="style39 style9">คำนำหน้า - ยศ</span> </td>
<td width="416"><div align="left">
<label>
<select name="rank" id="rank" value="<? echo "$story[rank]"; ?>" >
<option value="นาย">นาย</option>
<option value="นาง">นาง</option>
<option value="น.ส.">นางสาว</option>
<option value="พ.อ.">พันเอก</option>
<option value="พล.ต.">พลตรี</option>
<option value="พล.ท.">พลโท</option>
<option value="พล.อ.">พลเอก</option>
<option value="พ.ต.อ.">พันตำรวจเอก</option>
<option value="พล.ต.ต.">พลตำรวจตรี</option>
<option value="นพ.">นายแพทย์</option>
<option value="พญ.">แพทย์หญิง</option>
<option value="ดร.">ดอกเตอร์</option>
</select>
</label>
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">ชื่อ</span></td>
<td><div align="left">
<input name="name" type="text" value="<? echo "$story[name]"; ?>" size="20" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">นามสกุล</span></td>
<td><div align="left">
<input name="name" type="text" value="<? echo "$story[surname]"; ?>" size="20" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เพศ</span></td>
<td><div align="left">
<select name="sex" id="sex" value="<? echo "$story[sex]"; ?>">
<option value="ชาย">ชาย</option>
<option value="หญิง">หญิง</option>
</select>
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เบอร์โทรศัพท์ที่ทำงาน</span></td>
<td><div align="left">
<input name="name2" type="text" value="<? echo "$story[tel]"; ?>" size="10" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เบอร์โทรศัพท์มือถือ</span></td>
<td><div align="left">
<input name="name3" type="text" value="<? echo "$story[mobile]"; ?>" size="10" />
</div></td>
</tr>
<tr>
<td colspan="3" align="center" valign="top" bgcolor="#FFCC99"><span class="style28 style11">ตำแหน่ง</span><span class="style11">ที่จะถูกบันทึก</span><br />
<input name="mobile" type="text" id="mobile" value="<? echo "$story[position]"; ?>" size="50" />
<br />
<span class="style6">
<label></label>
</span></td>
</tr>
<tr>
<td colspan="3" align="center" valign="top" bgcolor="#FF9999"><span class="style28 style10">หมายเหตุ</span><br />
<textarea name="note" cols="90" rows="5">เลขานุการ : </textarea></td>
<td width="37"> </td>
</tr>
</table> </th>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="แก้ไข" />
<input type="reset" name="Submit2" value="ทำใหม่" />
<input name="position" type="hidden" id="position" value="<? echo "$story[position]"; ?>" />
</div></td>
</tr>
</table>
</div>
</form>
Date :
2014-02-06 23:29:28
By :
az00232200
ไฟล์ sedit.php บันทึกข้อมูลจากการแก้ไขครับ
Code (PHP)
<?
$dbhost = 'xxxxx.com';
$dbuser = 'xxxxxx';
$passwd = 'xxxxxxxx';
$dbname = 'xxxxxx';
mysql_connect("$dbhost", "$dbuser", "$passwd") or die ('ไม่สามารถติดต่อ Database ได้');
mysql_db_query("$dbname","SET NAMES utf-8");
$sql = "UPDATE story SET
rank = '$_POST[rank]',
name = '$_POST[name]',
surname = '$_POST[surname]',
sex = '$_POST[sex]'
tel = '$_POST[tel]'
mobile = '$_POST[mobile]'
note = '$_POST[note]'
WHERE position = '$_POST[position]'";
mysql_query($sql);
echo '<meta http-equiv="refresh" content="0;URL=show.php">';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>บันทึกข้อมูล</title>
</head>
<body>
</body>
</html>
ขอคำแนะนำด้วยนะครับ
Date :
2014-02-06 23:31:47
By :
az00232200
Code (PHP)
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">ชื่อ</span></td>
<td><div align="left">
<input name="name" type="text" value="<? echo "$story[name]"; ?>" size="20" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">นามสกุล</span></td>
<td><div align="left">
<input name="surname" type="text" value="<? echo "$story[surname]"; ?>" size="20" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เพศ</span></td>
<td><div align="left">
<select name="sex" id="sex" value="<? echo "$story[sex]"; ?>">
<option value="ชาย">ชาย</option>
<option value="หญิง">หญิง</option>
</select>
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เบอร์โทรศัพท์ที่ทำงาน</span></td>
<td><div align="left">
<input name="tel" type="text" value="<? echo "$story[tel]"; ?>" size="10" />
</div></td>
</tr>
<tr>
<td align="right" bgcolor="#CCCCCC"><span class="style39 style9">เบอร์โทรศัพท์มือถือ</span></td>
<td><div align="left">
<input name="mobile" type="text" value="<? echo "$story[mobile]"; ?>" size="10" />
</div></td>
</tr>
<tr>
<td colspan="3" align="center" valign="top" bgcolor="#FFCC99"><span class="style28 style11">ตำแหน่ง</span><span class="style11">ที่จะถูกบันทึก</span><br />
<input name="position" type="text" id="position" value="<? echo "$story[position]"; ?>" size="50" />
<br />
<span class="style6">
<label></label>
</span></td>
</tr>
<tr>
Date :
2014-02-06 23:45:57
By :
weaned
ขออนุญาตครับ ทำตามแล้ว ไม่เปลี่ยนแปลงครับ
Date :
2014-02-07 00:05:05
By :
az00232200
17.mysql_query($sql) or die(mysql_error()) ;
เติมโค้ดสีแดงลงไปครับ แล้วเอา error มาให้ดูหน่อย
Date :
2014-02-07 00:15:53
By :
sakuraei
ไฟล์ edit.php เลือกเอาสักอันงง ตอน select
<?
$sql = "select * from $story where position=$position";
$result = mysql_query("SELECT * FROM story WHERE position = '$_GET[position]'");
$story = mysql_fetch_array($result);
?>
Date :
2014-02-07 00:33:01
By :
weaned
เอา structure ของฐานข้อมูลมาดูเถอะครับ ไม่งั้นไม่จบแน่
Date :
2014-02-07 07:44:36
By :
apisitp
สำหรับตัวผม ถ้าจะส่งค่าอะไรไป แล้ว GET ค่าไปคิวรี่ต่อ ผมจะหาจาก PK แต่ PK ผมจะเป็น int และเป็น PK ด้วย นั้นหมายถึงฟิลด์ Auto_increment มันจะมีความแน่นอนมากกว่า อันนี้เป็นหลักการเบื้องต้นสำหรับผมนะ...
แต่ในเมื่อ PK คุณเป็น varchar ก็ต้องปล่อยไป แต่อยากแนะนำให้สร้างฟิดล์ id type:int auto_increment และ ทำ PK ไวบนสุดบอกกรง ๆ นะจะควบคุมง่ายกว่า...แต่อาจจะติดปัณหาด้วยอะไรก็แล้วแต่ก็ไม่เป็นไร...
ตอนนี้สรุป update ไม่ผ่าน
sex = '$_POST[sex]'
tel = '$_POST[tel]'
mobile = '$_POST[mobile]'
note = '$_POST[note]'
ไม่มีเครื่องหมาย , เลยสักตัว --*
ลองไล่ syntax อย่างใจเย็น คุณตกเรื่องนี้มาก ๆ เขียน code ต้องใจเย็น ๆ ครับ
ประวัติการแก้ไข 2014-02-07 08:07:03
Date :
2014-02-07 08:05:44
By :
apisitp
Load balance : Server 01