2011-04-30 110 views
1

我试图在文本框中显示数据库输入以进行编辑。我似乎无法得到它的工作?! 页面从论坛帖子编辑按钮链接。首先,我不知道如何获取该特定字段的数据库信息,也不知道如何确保用户点击编辑的帖子是显示的帖子。在文本框中显示数据库字段

我的代码看起来像这样

<?php 
#data preparation for the query 
$id=$_GET['id']; 

# selects title and description fields from database 
$sql = "SELECT a_answer FROM $tbl_name WHERE question_id='$id'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 

?> 
<h3>Edit</h3> <form action="save_edit.php" enctype="multipart/form-data" method="post" name="myForm" /> 
<table>  

<tr>  
<td><b>Answer</b></td>  
<td><textarea cols="80%" rows="10" name="a_answer"><?php echo $row['$a_answer']; ?></textarea></td> 
    </tr> 
    </table> <input name="id" type="hidden" value="<? echo $id; ?>"> 
    <input name="enter" type="submit" value="Edit"> </form> 

    <?php mysql_close(); ?> 
+1

'$ rows'包含行,你是美国'$ row'一个建议以及如何去与一些很好的教程 – 2011-04-30 09:58:03

+0

是的,固定的,仍然没有运气 – Novice 2011-04-30 10:24:07

回答

0

代码中的两个错误:首先,您使用的是row而不是rows。第二个是您在访问该字段时使用的美元符号。如果你的数据库查询是正确的,下面的代码应该可以工作。

<?php 
#data preparation for the query 
$id=$_GET['id']; 

# selects title and description fields from database 
$sql = "SELECT a_answer FROM $tbl_name WHERE question_id='$id'"; 
$result=mysql_query($sql); 
$rows=mysql_fetch_array($result); 

?> 
<h3>Edit</h3> <form action="save_edit.php" enctype="multipart/form-data" method="post" name="myForm" /> 
<table>  

<tr>  
<td><b>Answer</b></td>  
<td><textarea cols="80%" rows="10" name="a_answer"><?php echo $rows['a_answer']; ?></textarea></td> 
    </tr> 
    </table> <input name="id" type="hidden" value="<? echo $id; ?>"> 
    <input name="enter" type="submit" value="Edit"> </form> 

    <?php mysql_close(); ?> 

另一种方式去了解的东西是使用准备好的语句,让PHP和MySQL quess正确的类型。 Here can be found一个简单的例子。

+0

这样做了!谢谢! – Novice 2011-04-30 10:33:52

+0

没问题。你应该通过接受它来表明这个答案是解决你的问题的方法,所以其他人可能会受益。谢谢! – 2011-04-30 11:15:37

1

确认此问题id为整数或varchar在数据库中。如果它是整数,则删除单引号。 (只是一个提示可能会帮助你。)。 还有一件事你不需要把多部分放在你的表单中,如果你没有上传任何文件的另一个提示形式。

相关问题