ปัญหาสุดท้าย - ผมทำฟอร์มแก้ไขข้อมูลแต่มันไม่ยอมแก้ให้
ผมทำฟอร์มแก้ไขข้อมูลแต่มันไม่ยอมแก้ให้ ผมพยายามหาข้อผิดพลาดแล้วแต่หาไม่เจออยากให้คนที่รู้ช่วยดูหน่อยครับ
code edit
<?
$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];
$date=$result[date];
$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><span class="style2">
<input type="text" name="date" value="<?echo $date."/".$month."/".$year ; ?>" />
</span> </p>
<p align="center"><span class="style4">เวลา:</span><span class="style2">
<input type="text" name="time" value="<? echo"$t";?>">
</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";?>">
<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><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">
<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);
?>
code save
<?
$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',date='$date', month='$month',year='$year',time='$t',tel='$tel',location='$location' ,type='$type',maintainance='$maintainance',level='$level' where id=$id";
$db_query=mysql_db_query($db,$sql);
echo "แก้ไขข้อมูลเรียบร้อยแล้ว ";
mysql_close();
?>
Tag : - - - -
Date :
2009-02-25 08:24:43
By :
yutthana11
View :
1199
Reply :
23
เพื่อความชัวร์นะ ควรใส่ $_POST[] ของตัวแปรที่เอาค่ามาจากฟอร์มด้วยค่ะ
Code (PHP)
<?php
$sql="update $tb set
name='$name',sname='$sname',date='$_[date]',month='$_POST[month]',
year='$[year]',time='$t',tel='$tel',location='$location',type='$type',
maintainance='$maintainance',level='$level' where id=$id";
?>
ถ้าทำแล้วยังไม่ได้ก็ step เดิมเลยค่ะ echo $sql เอาไปรันดูค่ะ
Date :
2009-02-25 09:03:12
By :
Jewels
แก้ทุกข้อมูลแล้วนะครับ พอเรียกข้อมูลมาดูปรากฎว่าเหมือนเดิม ไม่ได้แด้ไขอะไรเลย
Date :
2009-02-25 09:21:26
By :
yutthana11
ใช้ host เป็น วินโดว์หรือ ลีนุกซ์ครับ
Date :
2009-02-25 09:24:03
By :
ddsure
ขอดู ที่ echo $sql หน่อยค่ะ
Date :
2009-02-25 09:25:44
By :
Jewels
windows ครับ
Date :
2009-02-25 09:26:12
By :
yutthana11
ขอดู ที่ echo $sql หน่อยค่ะ<<ตรงไหนหรือครับ ผมไม่เข้าใจ
Date :
2009-02-25 09:28:29
By :
yutthana11
คือเพิ่มโค้ดด้านล่าง ตรงนี้ค่ะว่า
Code (PHP)
<?php
$sql="update $tb set
name='$name',sname='$sname',date='$date',month='$month', year='$year',time='$t',tel='$tel',location='$location', type='$type',maintainance='$maintainance',level='$level' where id=$id";
echo $sql;
//$db_query=mysql_db_query($db,$sql);
?>
เสร็จแล้วก็ลองเอาไปรันหน้าเวปค่ะ
แล้วมันจะ echo ออกมาเป็นคำสั่ง sql อะไรก็ copy มาให้ดูหน่อยค่ะ
Date :
2009-02-25 09:35:20
By :
Jewels
error ครับ
update service set name='สุดา',sname='สีแสง',date='',month='', year='$[year]',time='',tel='245',location='สำนักบริการส่งออก2',type='คอมพิวเตอร', maintainance='เปิดไม่ติด',level='test' where id=000502600051092 แก้ไขข้อมูลเรียบร้อยแล้ว
Date :
2009-02-25 09:41:11
By :
yutthana11
^
^
น่ารักแล้วยังใจดีอีกซะด้วย แจ่มจริงๆ ครับ
Date :
2009-02-25 09:41:31
By :
rasabut
Code
$sql="update $tb set
name='$name',sname='$sname',date ='$date',month='$month',year='$year', time ='$t',tel='$tel',location='$location' ,type='$type',maintainance='$maintainance',level='$level' where id=$id";
time,date เป็นคำสงวนมั้งครับใช้ไม่ได้
Date :
2009-02-25 09:50:47
By :
zepherus
ตอนนี้errorไปมหเลยแม้แต่เพิ่มฐานข้อก็ไม่ได้ทั้งที่เมื่อวานก็ได้แล้ว
error
Array
(
[id] => 00050260004
[name] => นานิกา
[sname] => นานนท์
[day] => 1
[month] => 1
[year] => 2552
[tel] => 222
[t] => 15.45
[location] => สำนักงานเลขานุการกรม
[type] => สแกนเนอร์
[maintainance] => เสีย
[Submit] => บันทึกรายการ
[ok] => ok_pass
)
error edit database
Array
(
[id] => 000502600051090
[name] => สุธิดา
[sname] => ปานกลาง
[date] => 12/2/2552
[time] => 12.00
[tel] => 666
[location] => กลุ่มงานวิเทศน์สัมพันธ์
[type] => คอมพิวเตอร
[maintainance] => เครื่องทำงานช้า
[level] => test1
[Submit] => บันทึกข้อมูล
)
update service set name='สุธิดา',sname='ปานกลาง',date='',month='', year='$[year]',t='',tel='666',location='กลุ่มงานวิเทศน์สัมพันธ์',type='คอมพิวเตอร', maintainance='เครื่องทำงานช้า',level='test1' where id=000502600051090แก้ไขข้อมูลเรียบร้อยแล้ว
เพิ่มข้อมูลลงฐานข้อมูลไม่ได้
Date :
2009-02-25 11:12:09
By :
yutthana11
หน้า insert ครับ
Date :
2009-02-25 11:49:27
By :
yutthana11
ก็คือว่ามันคนละส่วนกันหนะคะ เวลา insert กับ edit ถ้าเรา insert ได้แล้ว เราก็ไม่ต้องไปยุ่งกับมันอีก
ทีนี้มาดูเวลา edit ค่ะ
เวลาเรา select ขึ้นมามันก็จะออกมาเป็น 12/2/2552 ซึ่งมันจะติดกันเลย
แล้วเวลาแก้ไข นี่ให้ user พิมพ์เองเรยหรือป่าว ถ้าใช่ มันไม่เหมือนกับหน้า insert ใช่ไหม
ถ้าอย่างนั้นเราต้อง แยก string ออกมา เป็น 3 ตัว ก็คือ 12 , 2 , 2552 เพื่อเอามา
update ลง table
มาดูวิธีแยกค่ะ
Code (PHP)
<?php
$datetmp= explode("/", $_POST["date"]); // แยกสตริงโดยใช้ / แยกค่ะ
$date1=$datetmp[0];
$date2=$datetmp[1];
$date3=$datetmp[2];
//ข้ามมาส่วนของเวลา update ค่ะ
$sql="update $tb set
name='$name',sname='$sname',date='$date1',month='$date2, year='$date3,time='$t',tel='$tel',location='$location', type='$type',maintainance='$maintainance',level='$level' where id=$id";
?>
ปล. เขียนสดค่ะ อาจจะมีพิมพ์ผิดบ้าง เช็คดูอีกทีนะคะ
Date :
2009-02-25 12:00:46
By :
Jewels
ปัญหาตอนนี้แก้ไปได้เยอะแล้วเหลือแต่เวลาเราeditเหลือแต่$date$month$year$t มันเพี้ยนๆครับ ดูรูปกับcodeเอานะครับ
////////////////////////////////////////////////////หน้านี้เป็นหน้าadd dbนะครับ///////////////////////////////
/////////////////////////////////////////////////หน้านี้ดูข้อมูล//////////////////////////////////////
มันจะดูได้แค่เดือนปีcodeด้านล่าง
<div align="center" class="style10 style43"><span class="style32 style45"><?echo $date."/".$month."/".$year ; ?></span></div></td>
/////////////////////////////////////////////หน้านี้คือหน้าedit////////////////////////////////////////
<p align="center"><span class="style4">วันที่:</span><span class="style2">
<input type="text" name="day" value="<? echo $day."/".$month."/".$year ; ?>" />
////////////////////////////////////////////พอeditแล้วแล้วก็เป็นแบบนี้//////////////////////////////
พอแก้แล้ววันหายไป
Date :
2009-02-25 12:29:40
By :
yutthana11
หน้า insert เป็นuserเข้ามากรอกข้อมูล วันเดือนปีเป็นlistmenuส่วนหน้าeditเป็นtextboxครับ
Date :
2009-02-25 12:32:55
By :
yutthana11
insert เป็น dropdown แต่ update เป็น textbox
หน้า edit ก็ต้องใช้ $year . "-" . $month . "-" . $date; ใส่เข้าไปใน text box
แล้วหน้า update ก็ list($year, $month, $date) = explode("-", $datetextbox);
แล้ว query ตามโค๊ดของคุณ
พอจะช่วยได้ไหม
Date :
2009-02-25 12:42:05
By :
plakrim
ต้องดูก่อนค่ะว่า ตอน insert มันลงไปใน ดาต้าเบสจริงหรือป่าว ได้เข้าไปดูรึยัง
ถ้ามีข้อมูลครบจริง แสดงว่า ตอนดึงมาแสดงอาจมีการผิดพลาดค่ะ
หน้าแก้ไขข้อมูล ก็จะต้องแยกสตริงค่ะ ก่อนที่จะลงดาต้าเบส เพราะว่าในดาต้าเบสเราเก็บแยกกันไว้
Date :
2009-02-25 13:20:07
By :
Jewels
ลงdbครับอย่างในรูปมันลงไปแล้วแต่พอดึงขึ้นมาดูก็มีแต่เดือนกับปีวันหาย พอเข้าหน้าeditมันก็มีลักษณะอย่างในรูปที่แนบมาให้ดูขางบน ที่จริงไฟล์editผมจะไม่เปลี่ยนแปลงอะไรแค่เพิ่มในช่งสถานะการซ่อมเท่านั้นเพื่อแจ้งuserให้รู้ครับ
Date :
2009-02-25 13:39:48
By :
yutthana11
แสดงว่าตอน select ข้อมูล หรือการเขียนโค้ดแสดงใน textbox อาจจะมีการเขียนโค้ดผิดที่ใดที่หนึ่ง
อย่าลืมเวลา select ข้อมูลต้องเอาไปลองรันใน phpmyadmin หรือ mysql front เพื่อจะได้รู้ว่าข้อมูลมันมาจริงไหม
Date :
2009-02-25 13:46:13
By :
Jewels
ผมจะลองทำให้มันเหมือนกันทั้งeditและinsertให้เป็นlistmenu
Date :
2009-02-25 13:50:58
By :
yutthana11
ดีค่ะ มันน่าจะเหมือนกันจะดีกว่าจะได้ไม่สับสน
Date :
2009-02-25 13:52:57
By :
Jewels
Load balance : Server 02