ถามเรื่อง ดึงข้อมูลจาก db มาแก้ไขนฟอร์มหน่อยสิ คะ
ลองใช้แบบนี้ดูนะคับ
<tr>
<td><div id='controlfont'>Title</div></td>
<td><INPUT TYPE="text" NAME="title" style="width:500px;" value="<?=$title; ?>" >
</tr>
Date :
2009-07-01 11:15:44
By :
maruk
ลองเปลี่ยนจาก <?php $title ?> เป็น <?=$title?> ดูครับ
Date :
2009-07-01 11:23:15
By :
wisut2527
เปลี่ยนตามที่บอกแล้วนะคะ มันก็ยังไม่ได้
มันขึ้น
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\nardanong.s\admin\p_edit.php on line 27
แต่ว่า echo ดู ค่า id มันก็มานะคะ select * from tb_performance where id='927'
แต่พอ view source ดู ตรง
<?php
<INPUT TYPE="text" NAME="title" style="width:500px;" value="<?=$title; ?>">
?>
ตรง value="<?=$title; ?>มันกลับเป็นค่าว่าง
Date :
2009-07-01 11:29:35
By :
nottpoo
value="<?=$title?>"
Date :
2009-07-01 11:32:54
By :
maruk
แก้ไขตามที่บอกแล้วนะ
ยังไม่ได้
Code (PHP)
<?php
<FORM METHOD=POST ACTION="">
<table width="200" border="0">
<tr>
<td style="border-right: 1px solid #000033" valign="top"><?php require_once("top.inc.php");?></td>
<td valign="top"><!-- -->
<table width="200" border="0">
<tr>
<td><div id='controlfont'>Title</div></td>
<td><INPUT TYPE="text" NAME="title" style="width:500px;" value="<?=$title; ?>"><div id="controlText">*Title of performance<div></td>
</tr>
<tr>
<td><div id='controlfont'>Summary</div></td>
<td><textarea name="summary" rows="8" style="width:500px;" value="<?= $summary; ?>"></textarea>
<div id="controlText">
*Summary of performance
<div></td>
</tr>
<tr>
<td><div id='controlfont'>Content</div></td>
<td><TEXTAREA NAME="content" ROWS="8" style="width:500px;" value="<?= $content; ?>"></TEXTAREA><div id="controlText">*Content of performance<div></td>
</tr>
<tr>
<td><div id='controlfont'>External</div></td>
<td><INPUT TYPE="text" NAME="external" style="width:500px;" value="<?= $external; ?>"><div id="controlText">*External of performance<div></td>
</tr>
<tr>
<td></td>
<td><INPUT TYPE="submit" VALUE="edit"></td>
</tr>
</table>
<!-- -->
</td>
</tr>
</table>
</FORM>
?>
Date :
2009-07-01 11:38:00
By :
nottpoo
Code (PHP)
<?php
<INPUT TYPE="text" NAME="title" style="width:500px;" value="<?=$title?>">
?>
Date :
2009-07-01 11:39:31
By :
nottpoo
ลองใส่แบบนี้ครับ
Code (PHP)
<?php
<INPUT TYPE="text" NAME="title" style="width:500px;" value="<? echo $title ;?>">
?>
ใส่ echo แทน =
Date :
2009-07-01 11:53:05
By :
tingtongkub
ปกติผมใช้แบบข้างบนครับ ใช้
Code (PHP)
<?php
<INPUT TYPE="text" NAME="title" style="width:500px;" value="<? echo $title ;?>">
?>
ถ้าได้หรือไม่ได้ยังไง บอกด้วยครับ
Date :
2009-07-01 11:55:45
By :
tingtongkub
คำสั่ง ไม่จำเป็นต้องเป็นตัวใหญ่ครับดูจาก sql แล้วน่าจะไม่ได้อยู่แล้ว select * from table1 table2 where id (id ของ table ไหนครับต้องระบุด้วย table1.id) ครับ
Date :
2009-07-01 12:43:26
By :
wisut2527
จากเท่าที่เคยเขียนมา คำสั่ง sql ไม่ต้องเป็นตัวใหญ่ก็ได้นิคะ ปกติก็เขียนตัวเล็ก
มันก็ทำงานได้ แต่ที่ถามคือว่า จะทำยังไง ให้ ค่าที่ดึงมาจาก db อยู่ใน ฟอร์ม เพื่อที่จะเขียนโค้ดแก้ไขต่อไป
คำสั่ง sql
$sqlcommand = "select * from tb_performance where id='$id'";
$result=mysql_db_query($sqlcommand,conn);
$rec=mysql_fetch_array($result);
echo "$sqlcommand ";
ได้ select * from tb_performance where id='5'
Date :
2009-07-01 13:08:09
By :
nottpoo
เห็น เครื่องหมาย $ ที่ conn หายไป
แต่แก้ไขแล้วนะ ยังไม่ออกแฮะ
Date :
2009-07-01 13:10:43
By :
nottpoo
ได้แล้ว เปราะหนึ่ง ค่ามาแล้ว แต่ยังมาไม่หมดทุกฟิลด์ ฟิลด์ที่เป็น textareaไม่มาคะ
แก้ตรงนี้คะ
// เห็น เครื่องหมาย $ ที่ conn หายไป
<?php
$result=mysql_db_query($sqlcommand,$conn);
?>
โดยเปลี่ยนจาก
<?php
$result=mysql_query($sqlcommand,$conn);
?>
แต่ทำไมฟิลด์ที่เป็น textareaไม่มาแฮะ ผู้รู้ตอบหน่อยสิฮะ
Date :
2009-07-01 13:17:36
By :
nottpoo
แต่ฟิลด์ที่เป็น TEXTAREA มันไม่แสดงที่ page แต่ view source ได้มีค่า
แบบนี้คืออะไรฮะ
33333 คือค่าที่ได้มาจาก db
Code (PHP)
<?php
<tr>
<td><div id='controlfont'>Summary</div></td>
<td><TEXTAREA NAME="summary" ROWS="8" style="width:500px;" value="333333"></TEXTAREA</td>
</tr>
<tr>
<td><div id='controlfont'>Content</div></td>
<td><TEXTAREA NAME="content" ROWS="8" style="width:500px;" value="333333"></TEXTAREA>td>
</tr>
?>
Date :
2009-07-01 13:48:45
By :
nottpoo
ผมสงสัยว่าทำไม ใช้ <? =$title ;?> กันได้ ของผมลองแล้ว มัน error ครับ
แต่ถ้าผมใช้แบบนี้ครับ ใน textaere มันถึงได้ครับ
Code (PHP)
<?php
<textarea name="title" cols="50" rows="2"><? echo"$title";?></textarea>
?>
ได้หรือไม่ได้ ยังไง บอกด้วย
Date :
2009-07-01 14:01:04
By :
tingtongkub
<TEXTAREA></<TEXTAREA> ไม่มีค่า value ครับ
ลองดูนะ
<?php
<TEXTAREA NAME="content" ROWS="8" style="width:500px;"><?= $content; ?></TEXTAREA>
?>
Date :
2009-07-01 14:03:10
By :
sutnet
ได้แล้วฮะ ทุกท่าน ขอบคุณฮะ
Date :
2009-07-01 14:11:48
By :
nottpoo
ทุกท่านขอถามต่ออีกหน่อยสิฮะ
หลังจากที่มันดึงข้อมูลเพื่อมาแก้ไขที่ในฟอร์มได้แล้ว แล้วเราต้องการอัพเดทข้อมูล
ตัวแปรทุกตัวที่ส่งมาจาก ฟอร์มมันก็มาหมดทุกตัว ยกเว้น id มันไม่มาอะคะ ทำให้มันไม่สามารถ อัพเดทได้
เขียนไว้แบบนี้คะ
Code (PHP)
<?php
<?php
#<!--Check login -->
if(isset($_SESSION["login"])){
echo"<u>Login Pass Thank for login !!</u>";
}else{
redirect("loginUI.php");
}
$id=$_POST['id'];
$title=$_POST['title'];
$summary=$_POST['summary'];
$content=$_POST['content'];
$external=$_POST['external'];
$sqlcommand="update tb_performance set title='$title',summary='$summary',content='$content' where id=$id";
$result=mysql_query($sqlcommand,$conn);
if($result){
echo"<br><u>Update Success</u>";
//redirect('performancer.php');
}else{
echo"<br><u>can't update data !! </u>";
}
echo"<br>$sqlcommand";
echo"<br>$result";
?>
?>
echo ออกมาได้แบบนี้คะ
update tb_performance set title='3333asasasqqq',summary='333333asasasqq',content='333333asasaqq' where id=
id ไม่ออกอะคะ
Date :
2009-07-01 16:17:58
By :
nottpoo
น่าจะยังไม่ได้ส่งค่า id มานะ
แนะนำว่าส่งค่ามาแบบ hidden นะ
<input type="hidden" name="id" value="<?=$id;?>">
ลองดูครับ ถ้าตอบผิดก็ขอโทษด้วย
Date :
2009-07-01 16:31:31
By :
monotakari
ตอบถูกแล้วฮะ ตะกี้เลยลองถามเพื่อน แล้วเพื่อนบอกให้ใส่ hidden ได้ผลฮะ
Date :
2009-07-01 16:51:12
By :
nottpoo
Load balance : Server 01