2011-04-30 41 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在數據庫中。如果它是整數,則刪除單引號。 (只是一個提示可能會幫助你。)。 還有一件事你不需要把多部分放在你的表單中,如果你沒有上傳任何文件的另一個提示形式。

相關問題