อยากสอบถามว่า หน้า Form กับหน้า edit จะมีส่วนไหนที่แตกต่างกันบ้างค่ะ
หน้าที่แก้ไขใช้คำสั้ง Update หรือว่า INSERT into
ถ้าใช้ตัวหลังมานจะกำหนด id ของคุณมาให้ใหม่นะ
Date :
2011-04-04 11:38:00
By :
1122
หน้า form ปกติ ทั่วไปก็เหมือนเป้นการรับข้อมูล /// insert into tbl_xxx
หน้า edit ปกติ ทั่วไปก็เหมือนกับหน้าอัพเดทข้อมูลโดยอ้างอิงจากฐานข้อมูล /// update tbl_xxx set xxx ก็ว่าไป
Date :
2011-04-04 12:01:22
By :
mzchewiize
form
$date= date("d/m/Y/H:i");
$result = mysql_query("insert into xx (date)
values('','$Idbill')");
Edit
$addname = $_POST['addname'];
$sql="update xx set 'addname'='$'addname' WHERE id = '$id'";
น่าจะเป็นอย่างนี้นะจ้าถ้าเข้าใจไม่ผิด
Date :
2011-04-04 12:54:52
By :
1122
เราก็เป็นอย่างนี้แล้วนะ
หน้า add
<?php
include ("connect.php");
$ID = $_GET['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "insert into customers values ('','$date','$cus','$num','$detail','$sum','$price','$total')";
mysql_query($sql) or die ("Insert Error !!!");
echo"<h3 aling = 'center'> save data ok </h3>";
echo"<center><a href='select.php'>Show detail</a></center>";
?>
หน้า edit
<?php
include ("connect.php");
$ID = $_GET['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "update customers set ID ='$ID',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'";)";
mysql_query($sql) or die ("Update ERROR");
echo "<h3 align = 'center'>Update Data OK</h3>";
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
หรือว่าจะเป็นที่ หน้า formedit หรือป่าว หน้า formedit เราทำเหมือนกับหน้า formadd เลยอ่ะ
Date :
2011-04-04 13:14:33
By :
nuyphp
ตอนที่จะอัพข้อมูลนะดึงข้อมูลมาแสดงในฟอร์มได้มัย
Date :
2011-04-04 13:21:16
By :
1122
ตอนที่เราจะทำการแก้ไขนะจ้าเราดึงข้อมูลในส่วนที่เราจะแก้ขึ้นมาได้หรือเปล่านะจ้า
Date :
2011-04-04 13:33:26
By :
1122
ข้อมูลมันไม่เป็นแปลงหรอ
ประวัติการแก้ไข 2011-04-04 13:41:52 2011-04-04 13:43:12
Date :
2011-04-04 13:39:47
By :
touchjung080930
ขอดูโค้ดหน้าฟอร์มก่อนที่จะ edit ได้มัยจ้า
และหน้าโค้ดที่ส่งไปupdate หน่อยนะจ้า
Date :
2011-04-04 13:43:59
By :
1122
formEdit
<form id="f15" name="f15" method="post" action="11.php"onSubmit="return checkform(this);">
<input type="hidden" name="id" value="<?php echo "$id"; ?>">
</span><span class="style51">บันทึกการวางบิล - รับเช็ค </span></strong></p>
<?php
include "config.inc.php";
$id = $_GET['id'];
$query = "select * from billing where id='$id'";
$result = mysql_query($query);
$dbarr = mysql_fetch_array($result) ;
?>
<table width="316" height="32" border="1" align="center" bordercolor="#000000">
<tr>
<td width="100" height="26" bgcolor="#F07D46"><span class="style13 style17 style18">เลขที่บิล</span></td>
<td width="200" bgcolor="#66FF66"><input name="Idbill" type="text" id="Idbill" value="<?php echo "$dbarr[Idbill]"; ?>" /></td>
</tr>
</table>
<p align="center"><span class="style34"><font size="2" color="red"><font size="2" color="red"><font size="2" color="red">
<? $id; ?>
</font></font></font>
<input name="save" type="submit" id="save" value=" บันทึก " />
<label>
<input name="Reset" type="reset" id="Reset" value=" ยกเลิก ">
</label>
</span></p>
</form>
11.php
<?php
include "config.inc.php";
$id = $_POST['id'];
$Idbill = $_POST['Idbill'];
$sql="update xx set Idbill='$IdbillWHERE id = '$id'";
$result = mysql_query($sql);
if($result) {
echo "<center>
<table border=\"1\" style=\"border-style:dotted; border-collapse: collapse; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1\" bordercolor=\"#111111\" width=\"50%\" id=\"AutoNumber1\" height=\"138\">
<tr>
<td height=\"136\">
<center>
<font size=\"5\" color=\"#000080\">แก้ไขข้อมูลเรียบร้อย</font><br><br>
<font size=\"4\"><a href=\"xx.php\">ตกลง</a></font>
</center>
</td>
</tr>
</table>
</center>";
}
else {
echo "<center>
<table border=\"1\" style=\"border-style:dotted; border-collapse: collapse; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1\" bordercolor=\"#111111\" width=\"50%\" id=\"AutoNumber1\" height=\"138\">
<tr>
<td height=\"136\" bgcolor=\"#FFCCFF\">
<center>
<font size=\"5\" color=\"#000080\">ไม่สามารถแก้ไขข้อมูลได้ให้ติอต่อเจ้าหน้าที่ไอที !!</font><br><br>
<font size=\"4\"><a href=\"xx.php\">ตกลง</a></font>
</center>
</td>
</tr>
</table>
</center>";
}
?>
ทำอย่างนี้หรือเปล่าจ้า
ก่อนที่จะแก้ไขของ ID ไหนก้อให้มานแสดงก่อนเราถึงจะแก้ไขข้อมูลในส่วนนั้นได้
Date :
2011-04-04 13:57:44
By :
1122
หน้าตาแบบรูปเลยค่ะ เวลาจะแก้อันไหนก็คลิกข้อมูลนั้น
แต่พอแก้ไขเสร็จมันไปเพิ่มข้อมูลใหม่แทน
Date :
2011-04-04 14:07:52
By :
nuyphp
หน้า edit
view sourceprint?01.<?php
include ("connect.php");
$ID = $_GET['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "update customers set ID ='$ID',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'";)";
mysql_query($sql) or die ("Update ERROR");
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
$sql = "update customers set ID ='$ID',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'";)";
เอาคำว่า ID ='$ID' ออกจ้า
มานก้อน่าจะได้นะ
Date :
2011-04-04 14:18:13
By :
1122
หน้า edit
view sourceprint?01.<?php
include ("connect.php");
$ID = $_GET['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "update customers set ID ='$ID',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'";)";
mysql_query($sql) or die ("Update ERROR");
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
แก้ไข
$sql = "update customers set cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'";)";
น่าจะได้นะจ้า
Date :
2011-04-04 14:19:47
By :
1122
มันก็ยังเหมือนเดิมอ่ะค่ะ กลายเป็นเพิ่มข้อมูลใหม่ขึ้นมาแทน
จะเกี่ยวกับ หน้า formedit ไหมอ่ะ
Date :
2011-04-04 14:36:25
By :
nuyphp
เอาตัวที่บอกก้อยังไม่ได้หรือจ้า
ถ้าอย่างนั้นขอดูหน้าฟอร์มหน่อยสิ
Date :
2011-04-04 14:40:35
By :
1122
Code หน้า Form
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form name="form1" method="post" action="add.php">
<p align="center">ใบลงทะเบียน</p>
<p align="center">รหัสนักศึกษา
<?php echo $ID= $_GET['ID']; ?>
<td > </td>
</p>
<p align="right">date
<select name="d">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="m">
<option value="01">มกราคม</option>
<option value="02">กุมภาพันธ์</option>
<option value="03">มีนาคม</option>
<option value="04">เมษายน</option>
<option value="05">พฤษภาคม</option>
<option value="06">มิถุนายน</option>
<option value="07">กรกฎาคม</option>
<option value="08">สิงหาคม</option>
<option value="09">กันยายน</option>
<option value="10">ตุลาคม </option>
<option value="11">พฤศจิกายน </option>
<option value="12">ธันวาคม </option>
</select>
<select name="y">
<option value="2005">2548</option>
<option value="2006">2549 </option>
<option value="2007">2550 </option>
<option value="2008">2551 </option>
<option value="2009">2552</option>
<option value="2010">2553</option>
<option value="2011">2554 </option>
<option value="2012">2555 </option>
<option value="2013">2556 </option>
</select>
</p>
<div align="right">
<p>คณะ
<select name="cus" onchange="form1.address.value=this.value">
<option value="-">-</option>
<option value="นิเทศศาสตร์">นิเทศ</option>
<option value="บัญชี">วิทยาการจัดการ</option>
<option value="วิทคอม">วิทยาศาสตร์</option>
</select>
</p>
<p>
<textarea name="address" id="address" cols="45" rows="5"></textarea>
</p>
</div>
</div>
<p align="right"> </p>
<p> </p>
<p><tr>
<td colspan="2">
<div align="center">
<input name="add" type="submit" id="add2" value="add">
<input type="reset" name="Reset" value="Reset">
</div></td>
</tr> </p>
</form>
</body>
</html>
Date :
2011-04-04 14:57:35
By :
nuyphp
ฟอร์มนี้ไม่เกี่ยวจ้า
แต่แก้อย่างที่บอกน่าจะได้นะลองปิดโปรแกรมแล้วลองรันใหม่ดูดิจ้า
เอา ID หลัง SET ออกนะ
Date :
2011-04-04 15:01:33
By :
1122
ไม่ได้อยู่ดีอ่ะค่ะ เธอจะดูหน้าไหนหรอ
Date :
2011-04-04 15:10:10
By :
nuyphp
ได้จ้า
Date :
2011-04-04 15:14:56
By :
1122
ดูหน้า
1. หน้าที่มีการดึงข้อมูลมาแก้ไข
2. หน้าที่ส่งค่าของการแก้ไขไปนะ
Date :
2011-04-04 15:19:32
By :
1122
เราลืมเปลี่ยนตัวหน้า fromedit
<form name="form2" method="post" action="edit.php">ตอนแรกมันเป็น add.php
ตอนนี้เปลี่ยนแล้วอ่ะมันกลายเป็น แก้ไข ข้อมูล แต่มันไม่มีไรเกิดขึ้นเลยอ่ะค่ะ
Date :
2011-04-04 16:02:24
By :
nuyphp
ว่าแล้วเปลียนไปแล้วแต่ไม่เปลียนเพราะว่าส่งค่าผิดฟอร์มนี้เอง
แล้วตอนนี้ได้ยัง
Date :
2011-04-04 17:06:11
By :
1122
ตอนนี้กลายเป็นไม่ส่งค่าเลยอ่ะค่ะ เข้าไปแก้ไขได้ แต่ตอนโชว์ข้อมูลไม่เปลี่ยนแปลงเลย
คือมันไม่อัพของใหม่ให้อ่ะค่ะ
Date :
2011-04-04 18:04:42
By :
nuyphp
จากฟอร์มหลักส่งค่าไป Add กับ Edit ส่งไปคนละฟอร์มกันนะจ้า
ถ้าส่งค่าไปฟอร์มเดียวกันก้อจะเป็นเหมือนเมือวานคือบันทึกเพิ่มได้แต่ไม่สามารถแก้ไขได้
แต่ถ้าแก้ไขได้มานก้อจะไม่สามารถเพิ่มข้อมูลได้ต้องดูส่วนนี้ใหม่นะจ้าน่าจะเป็นจากส่วนนี้แหละ
เพราะว่าเมือวานนะสามาบันทึกได้นะ
Date :
2011-04-05 08:19:36
By :
1122
แสดงว่า Formedit เราผิดช่ายป่ะ ช่วยดูโค๊ดให้หน่อยสิ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
include ("connect.php");
$ID = $_GET['ID'];
$sql = "select * from customers where ID = '$ID'";
$result = mysql_query ($sql);
$row = mysql_fetch_array($result);
?>
<div align="center">
<form name="form1" method="post" action="edit.php?cid=<?=$cid[0]?>">
<div align="center">
<p align="center"><strong>EDIT </strong></p>
<p align="center">ลงทะเบียน</p>
<p align="center"> เลขที่ <?php
echo "ID=$ID"
?>
</div>
</p>
<p align="right">date
<select name="d">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="m">
<option value="01">มกราคม</option>
<option value="02">กุมภาพันธ์</option>
<option value="03">มีนาคม</option>
<option value="04">เมษายน</option>
<option value="05">พฤษภาคม</option>
<option value="06">มิถุนายน</option>
<option value="07">กรกฎาคม</option>
<option value="08">สิงหาคม</option>
<option value="09">กันยายน</option>
<option value="10">ตุลาคม </option>
<option value="11">พฤศจิกายน </option>
<option value="12">ธันวาคม </option>
</select>
<select name="y">
<option value="2005">2548</option>
<option value="2006">2549 </option>
<option value="2007">2550 </option>
<option value="2008">2551 </option>
<option value="2009">2552</option>
<option value="2010">2553</option>
<option value="2011">2554 </option>
<option value="2012">2555 </option>
<option value="2013">2556 </option>
</select>
</p>
<p align="right">คณะ
<select name="cus" size="1" id="cus" onchange="form1.address.value=this.value">
<option value="-">-</option>
<option value="นิเทศ">นิเทศศาสตร์</option>
<option value="บัญชี">วิทยาการจัดการ </option>
<option value="วิทยการคอม">วิทยาศาสตร์</option>
</select>
</p>
<p align="right">
<textarea name="address" id="address" cols="45" rows="5"></textarea>
</p>
<p align="right"> </p>
<p> </p>
<p><tr>
<td colspan="2">
<div align="center">
<input name="edit" type="submit" id="add2" value="Edit">
<input type="reset" name="Reset" value="Reset">
</div></td>
</tr> </p>
</form>
</body>
</html>
Date :
2011-04-05 09:59:03
By :
nuyphp
ฟอร์มนี้ไม่ผิดหรอแต่ว่าตัวแปลตัวไหนที่จะทำการ update นะ
ขอดูโค้ดฟร์อม Edit.php หน่อยดิ
Date :
2011-04-05 10:47:18
By :
1122
Code หน้า edit
<?php
include ("connect.php");
$ID = $_GET['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "update customers set date='$date',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where ID = '$ID'" ;
mysql_query($sql) or die ("Update ERROR");
echo"<h3 aling = 'center'> save data ok </h3>";
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
Date :
2011-04-05 10:57:42
By :
nuyphp
จากที่ดูโค้ดนะค่าที่ส่งมาจาก Formedit นะจะมีอยู่ด้วยกัน 5 ตัวแปลและเมือกดที่ปุ่ม Edit ข้อมูลที่แก้ไขหรือ update มี 1. $date 2. $cus
เราเข้าใจถูกหรือเปล่าค่าที่มานเปลียนนะจ้า
Date :
2011-04-05 11:07:14
By :
1122
ถูกค่ะ เก็บค่าตามนี้เลยค่ะ
Date :
2011-04-05 11:13:33
By :
nuyphp
แล้วตอนนี้ติดที่ไหนอยู่จ้า
Date :
2011-04-05 11:27:10
By :
1122
เช็คถูกหมดยังครับ
ประวัติการแก้ไข 2011-04-05 11:44:07
Date :
2011-04-05 11:41:48
By :
touchjung080930
ตอนนี้ มันไม่เปลี่ยนข้อมูลให้เราอ่ะค่ะ
คือเข้าไปแก้ไข แต่มันไม่อัพเดทให้
Date :
2011-04-05 11:43:00
By :
nuyphp
ที่ไม่เปลียนนะเป็น 2 ตัวนี้เปล่า $date, $cus
หรือว่าตัวอื่นนะ
Date :
2011-04-05 11:44:57
By :
1122
มันไม่มีการเปลี่ยนแปลงอะไรเกิดขึ้นเลยอ่ะ
Date :
2011-04-05 11:46:46
By :
nuyphp
ดูจากโค้ดก็ไม่มีไรที่ผิดนะ
ดูการส่วค่าดีๆดิจ้าว่าถูกต้องหรือว่าการส่งค่ารหว่าฟอร์มนะ
Date :
2011-04-05 13:07:12
By :
1122
หน้า edit เรายังขาดอะไรอีกหรือป่าวอ่ะ
เพราะ ถ้าเราเปลี่ยน <form name="form2" method="post" action="edit.php"> จาก edit เป็น add เซฟได้แต่มันขึ้นอันใหม่เพราะมันไปเข้าของ add
เรายังขาดอะไรใน code edit อยู่หรือป่าว
Date :
2011-04-05 13:20:17
By :
nuyphp
ใช้แล้วถ้าสั่งให้ไปแอดมานก้อจะเพิ่มใหม่เพราะว่าเป็นการเพิ่มขึ้นมูลไม่ได้ update เพราะว่า id ที่ตั้งเป็นแแบ Auto นะ
ลองเอาไปใส่ฟอร์ม Edit ดูนะว่าสามารถแก้ไขได้ยัง
<?php
include ("connect.php");
$ID = $_POST['ID'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$sql = "update customers set date='$date',cus='$cus'WHERE ID = '$ID'";
mysql_query($sql) or die ("Update ERROR");
echo"<h3 aling = 'center'> save data ok </h3>";
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
Date :
2011-04-05 13:34:45
By :
1122
เหมือนเดิมอ่ะค่ะ ม่มีอะไรเกิดขึ้นมาเลย
หรือเป็นเกี่ยวกับ รหัสอะค่ะ เพราะรหัสมันไม่ขึ้นอ่ะค่ะ
Date :
2011-04-05 13:42:20
By :
nuyphp
ตอนนี้ดึงข้อมูลขึ้นมาแสดงนะดึงมาจาก ID แล้วข้อมูลที่เราดึงมาจากดาต้าเบสมานมาแสดงป่าว
Date :
2011-04-05 13:49:17
By :
1122
ตรง ID = นะต้องมีเลขที่ ID ของคนๆนั้นแสดงด้วยถ้าไม่แสดงมานก้อไม่รู้ว่าเราจะ update ข้อมูลไหน
แล้วมานแสดงป่าว
Date :
2011-04-05 13:56:57
By :
1122
คือ ถ้า add ไปแล้วมันก็เข้า database อ่ะค่ะ
ส่วนถ้าไปแก้ไขใน database มันก้อจะอัพเดทให้
Date :
2011-04-05 13:58:44
By :
nuyphp
ใช้แล้วไป Add ใหม่มานก้อจะเข้าไปในดาต้าเบสแต่ว่าตอนที่กดปุ่ม Edit ที่ฟอร์มแสดงรายการนะ
ตอนที่กด Edit นะที่ URL ฟอร์ม Edit http://127.0.0.1/xxx/edit.php?id=11040363
เป็นลักษณะอย่างนี้หรือเปล่าถ้าไม่ใช่นะต้องลองไปดูที่ตอนกดที่คำว่า Edit จากตารางแสดงข้อมูลนะจ้า
เพราะว่าตอนนี้ไม่น่าจะผิดแล้วนะ
Date :
2011-04-05 14:11:38
By :
1122
ส่งโค้ดมาให้เราดูให้มัย
Date :
2011-04-05 14:30:05
By :
1122
เป็นอย่างนี้จิงๆๆด้วยอ่ะค่ะ
ตอนหน้าแก้ไขอ่ะค่ะ สมมุติรหัส 65 ตรง URL formedit เป็น http://localhost/fromedit.php?cid=65
แต่พอหน้า Edit URL edit เป็น http://localhost/edit.php?cid=6
มันไม่เป็น 65 อ่ะค่ะ
Date :
2011-04-05 14:40:37
By :
nuyphp
อ้าวทำมัยตอนที่ GET เป็น ID แต่ตอนแสดงใน URL http://localhost/fromedit.php?cid=65
เป็น cid ได้ละ ลองตรวจสอบตรงนี้ใหม่ดิจ้า ตอนที่ GET ID หรือว่า cid ต้องตรงกันนะจ้าทั้งหมดจ้า
แล้วถ้าเป็น cid ตรง $sql = "update customers set date='$date',cus='$cus'WHERE ID = '$ID'";
ก้อต้องเป็น cid เหมือนกันนะจ้า
หรือว่าจะส่งโค้ดมาให้เราดูให้นะ
Date :
2011-04-05 14:53:26
By :
1122
คือตอนแรกเราใส่เป็น ID แต่รหัสมันไม่ออก เราเลยลองเปลี่ยนเป็น cid รหัสถึงแสดง
ตอนนี้เลยเป็นอย่างที่บอกไปเมื่อกี้อ่ะ
เทอจะเอาโค๊ดส่วนไหนบ้างหรอ
Date :
2011-04-05 15:02:59
By :
nuyphp
เอาโค้ด
ฟอร์มที่จะแสดงข้อมูลตอนที่จะกดข้อความที่เป็น Edit นะ แล้วก้อฟอร์ม Edit นะ
แล้วเปลียนให้เหมือนกันมานไม่ได้หรอ
ไม่เข้าใจน่าจะได้แล้วนะเนี้ย
จัดมาเด๋ววันนี้เอาให้ได้เลย
Date :
2011-04-05 15:14:48
By :
1122
คือตอนนี้เราเปลี่ยนให้เป็น cid หมดแล้วนะ
Code select
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php include("connect.php") ?>
<table width="904" height="61" border="1" align="center">
<tr>
<th width="47" height="30" scope="col">ID</th>
<th width="140" scope="col">DATE</th>
<th width="97" scope="col">CUS</th>
<th width="123" scope="col">ADDRESS</th>
<th width="105" scope="col">NUM</th>
<th width="86" scope="col">DETAIL</th>
<th width="79" scope="col">SUM</th>
<th width="79" scope="col"> </th>
<th width="90" scope="col"> </th>
</tr>
<?php
$sql = "select * from customers order by cid";
$result = mysql_query($sql) or die ("SQL Error!!!");
while($row = mysql_fetch_array($result)){ ?>
<tr>
<td ><?php echo $row[0] ?></td>
<td><?= $row[1]?></td>
<td><?= $row[2]?></td>
<td><?= $row[3]?></td>
<td><?= $row[4]?></td>
<td><?= $row[5]?></td>
<td><?= $row[6]?></td>
<td><a href="fromedit.php?cid=<?=$row[0]?>">EDIT</a></td>
<td><a href="confirm.php?cid=<?=$row[0]?>">DELETE</a></td>
</tr>
<?php } ?>
</table>
<p align="center"><a href="Untitled-10.php">ADD CUSTOMER </a></p>
</body>
</html>
ส่วนอันนี้
Code edit
<?php
include ("connect.php");
$cid = $_GET['cid'];
$date = $_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];
$cus = $_POST['cus'];
$num = $_POST['num'];
$detail = $_POST['detail'];
$sum = $_POST['sum'];
$price = $_POST['price'];
$total = $_POST['total'];
$sql = "update customers set date='$date',cus ='$cus',num='$num',detail='$detail',sum='$sum',price='$price',total='$total' where cid = '$cid'" ;
mysql_query($sql) or die ("Update ERROR");
echo"<h3 aling = 'center'> save data ok </h3>";
echo"<center><a href = 'select.php'>SHOW DATA</a></center>";
?>
Date :
2011-04-05 15:27:54
By :
nuyphp
ส่วนที่ต้องการ up date มีข้อมูลไหนมั่ง
Date :
2011-04-05 15:33:45
By :
1122
คือสามารถอัพเดทได้หมดเลยอ่ะค่ะ แต่ตอนนี้เราลองแค่ 2 ตัวดูก่อนอ่ะ
Date :
2011-04-05 15:36:19
By :
nuyphp
เด๋วเราลองดูก่อนนะ
Date :
2011-04-05 16:11:03
By :
1122
เธอ มันอัพเดทได้นะ แต่มันได้แค่เลขตัวเดียวอ่ะ รหัส 1-9 แก้ไขได้
แต่พอเป็นพวก 10ขึ้นไป
ตอนหน้าแก้ไขอ่ะค่ะ สมมุติรหัส 65 ตรง URL formedit เป็น http://localhost/fromedit.php?cid=65
แต่พอหน้า Edit URL edit เป็น http://localhost/edit.php?cid=6 (เลขมาแค่ตัวเดียวเองอ่ะ)
มันก็แก้ข้อมูลของ รหัสที่ 6 แทน ที่จะเป็นรหัส 65
Date :
2011-04-05 16:16:55
By :
nuyphp
เปลี่ยนส่วนนี้ <tr>
<td ><?php echo $row[0] ?></td>
<td><?= $row[1]?></td>
<td><?= $row[2]?></td>
<td><?= $row[3]?></td>
<td><?= $row[4]?></td>
<td><?= $row[5]?></td>
<td><?= $row[6]?></td>
<td><a href="editfrom.php?cid=<?=$row[0]?>">EDIT</a></td>
<td><a href="confirm.php?cid=<?=$row[0]?>">DELETE</a></td>
</tr>
เป็นตัวเลขให้วงเว็บนะให้เป็นตัวแปลจากดาต้าเบสดูนะ
แล้วก้อเปลียน <td><a href="editfrom.php?cid=<?=$row[0]?>">EDIT</a></td>
เลข 0 เป็น ['cid']ดูนะว่าได้ตามที่ต้องการหรือเปล่า
Date :
2011-04-05 16:44:23
By :
1122
เหมือนเดิมเลยอ่ะค่ะ
อัพเดทได้แค่ รหัส 1-9
แต่พอเป็นพวก 10ขึ้นไป
ตอนหน้าแก้ไขอ่ะค่ะ สมมุติรหัส 65 ตรง URL formedit เป็น http://localhost/fromedit.php?cid=65
แต่พอหน้า Edit URL edit เป็น http://localhost/edit.php?cid=6 (เลขมาแค่ตัวเดียวเองอ่ะ)
มันก็แก้ข้อมูลของ รหัสที่ 6 แทน ที่จะเป็นรหัส 65
Date :
2011-04-05 16:56:44
By :
nuyphp
หน้า Edit เปลียนจาก $cid = $_GET['cid'];
เป็น $cid = $_POST['cid'];
Date :
2011-04-05 17:10:36
By :
1122
ถ้าเปลี่ยนแบบที่เธอบอกนะ มันจะกลายเป็นอัพเดทไม่ได้สักตัวเลยอ่ะ
Date :
2011-04-05 17:22:52
By :
nuyphp
หน้า edit เรา url มันขึ้นเลขแค่หลักเดี่ยวเอง เราว่ามันผิดก็ตรงนี้แหละ แก้ไขแค่ 1 - 9
Date :
2011-04-05 17:42:10
By :
nuyphp
ต้องเปลียนตัวจ้าตัวที่เราบอกนะ
อีกนิดเดียวเด๋วก้อได้แล้ว
Date :
2011-04-06 08:48:55
By :
1122
เราเปลี่ยนแบบที่เธอบอกแล้ว
หน้า Edit เปลียนจาก $cid = $_GET['cid'];
เป็น $cid = $_POST['cid'];
มันกลายเป็น แก้ไขไรไม่ได้เลยนะ
Date :
2011-04-06 09:12:50
By :
nuyphp
จากที่ลองดูโ้ค้ดนะไม่น่าจะมีปัญหานะ
ดูที่การส่งค่านั้นแหละน่าจะเป็นอย่างตัวนี้แหละ
Date :
2011-04-06 09:18:31
By :
1122
เราก็ทำแบบเดียวกันกับ หน้า add แล้วนะ แต่ไม่รู้ไมหน้า edit ถึงเป็นยังงี้
Date :
2011-04-06 09:38:27
By :
nuyphp
จากที่ลองอ่านๆ ดูผมว่าคุณ nuyphp น่าจะสับสนเรื่องการส่งค่าตัวแปรมากกว่า ก็ในหน้าเพจเดียวเล่นส่งกันทั้ง POST และ GET
หน้า formedit เปลี่ยนจากกการส่งค่าตัวแปร id จาก
<form name="form1" method="post" action="edit.php?cid=<?=$cid[0]?> ">
เป็น
<form name="form1" method="post" action="edit.php">
ส่วนตัวแปร id ให้สร้าง hidden fieldขึ้นมาเก็บแบบนี้
<input type='hidden' name='id' id='id' value='<?=$cid[0];?>'/>
ที่หน้า edit.php ให้ลอง print_r($_POST); ค่าตัวแปร $_POST ออกมาดูว่ามันมีค่า id ที่เราทำจากข้างบนปะ
ที่หน้า edit.php ตรง $cid = $_GET['cid']; เปลี่ยนเป็น $cid = $_POST['id'];
แล้วลองรันดู ได้ผลไงบอกด้วยละกัน
แนะนำเพิ่มเติมนะครับการดึงผลการคิวรี่จากดาต้าเบส เช่น $cid[0] แบบนี้ขอแนะนำให้เปลี่ยนเป็น $cid['ชื่อฟิลด์'] จะดีกว่า จะสื่อความหมายมากกว่า เวลาย้อนกับมาดูจะได้ไม่งง ถ้าฟิลด์น้อยๆ ก็ไม่เป็นไรแต่ถ้าเยอะเมื่อไรจะมืน
ประวัติการแก้ไข 2011-04-06 09:51:00
Date :
2011-04-06 09:47:37
By :
naskw
ในอเรนะลองใส่ตัวแปลหมดหรือยังจ้า
และการส่งค่าในหน้า Edit ไม่ต้อง GET cid จ้าแต่ต้องเป็น Post icd เพราะค่าที่ได้จากหน้า fromedit ถูุกแล้ว แต่ว่าส่งค้ามา edit นะมานมาไม่ครบดูที่การส่งค่าดีเด๋วก้อได้แล้ว
Date :
2011-04-06 09:48:40
By :
nongking1
เราลองทำแบบที่ คุณ anu บอกแล้วนะค่ะ
print_r($_POST);
มันออกมาแค่เลขตัวเดียวอ่ะค่ะ
72 ก้อมาแค่ 7 ประมานนี้อ่ะค่ะ
Date :
2011-04-06 10:08:23
By :
nuyphp
อ้ออีกอย่าง $cid[0] ที่หน้า formedit มาจากไหนหรอ ตอนแรกนึกว่ามาจากคิวรี่ข้างบนแต่ดูดีแล้วไม่ใช่
งั้นลองเปลี่ยน จาก
<input type='hidden' name='id' id='id' value='<?=$cid[0];?>'/>
มาเป็น <input type='hidden' name='id' id='id' value='<?=$_GET['cid'];?>'/>
<?=$_GET['cid'];?> ตัวนี้คือตัวแปรที่คุณใส่ในหน้าแสดงข้อมูล เพื่อคลิ้กลิ้งเข้ามาแก้ไขจากตรงนี้
<td><a href="fromedit.php?cid=<?=$row[0]?>">EDIT</a></td>
ถ้ามันเป็นชื่ออื่นก็เปลี่ยนซะ แล้วลอง print_r() ออกมาดูอีกรอบ
Date :
2011-04-06 10:20:21
By :
naskw
แก้ได้แล้วค่ะ ผิดที่ตรงนี้นี่เอง ขอบคุณทุกคนๆๆมากเลยนะค่ะที่ช่วยเรา
เราเพิ่งเริ่มเขียนเลยไม่ค่อยเข้าใจเท่าไร ตอนนี้เราก็ได้ความรู้เพิ่มอีกนึงเรื่องและ
ขอบคุณมากค่ะ
Date :
2011-04-06 10:54:13
By :
nuyphp
Date :
2011-04-06 11:17:33
By :
naskw
ขอบคุณสำหรับ +1 จากคุณ Touch และ คุณ Nuy
Date :
2011-04-06 11:35:08
By :
naskw
Date :
2011-04-06 11:38:42
By :
nongking1
Load balance : Server 01