2010-01-22 112 views
1

製作一個簡單的電影評論網站來練習PHP。在一個頁面上(表單),我寫一個標題並審查並提交,然後它將信息添加到mysql。我試圖創建一個頁面,我可以刪除我寫的評論。我通過將所有標題返回到表單標籤來進行討論,我可以選擇該標籤,然後將該表單提交到流程頁面並刪除該項目。從mysql中選擇項目

存在WHILE語句和SQL語句的問題。

$conn = mysql_connect($host, $user, $password) 
    or die("couldn't make connection"); 

mysql_select_db('cms', $conn) 
    or die("couldn't select database"); 

$sql = "SELECT * FROM frontPage"; 

$sql_result = mysql_query($sql, $conn) 
    or die("couldn't execute query"); 

while($row = mysql_fetch_array($sql_result)) { 
    $movieTitle = $row['title']; 
} 


?> 






<form method="post" action="deleteReview_process.php"> 

<select name="title"> 
    <option><?php echo $movieTitle; ?> 
</select> 

<input type="submit" name="delete" id="delete" value="delete" /> 

</form> 
+0

爲什麼你有問題?看起來不錯,嘗試在while循環中回顯'$ movieTitle'。 – 2010-01-22 02:41:10

回答

2

試試這個,修復程序包括關閉您的選擇標記,包括MySQL循環內的選項標籤,因此選項標記都各出現了一個新的項目時輸出。

<? 
$conn = mysql_connect($host, $user, $password) 
    or die("couldn't make connection"); 

mysql_select_db('cms', $conn) 
    or die("couldn't select database"); 

$sql = "SELECT * FROM frontPage"; 

$sql_result = mysql_query($sql, $conn) 
    or die("couldn't execute query"); 
?> 
<form method="post" action="deleteReview_process.php"> 
<select name="title"> 
<? 
while($row = mysql_fetch_array($sql_result)) { 
    $movieTitle = $row['title']; 
?> 
    <option><?php echo $movieTitle; ?></option> 
<? 

} 
?> 
</select> 
<input type="submit" name="delete" id="delete" value="delete" /> 
</form> 
+0

+1提供解決方案。 – 2010-01-22 02:53:28

+0

感謝您的幫助,你們這麼快! – 2010-01-22 02:57:10

0

好一件事,你就覆蓋movieTitle你的循環重複,每次$ ...你不希望顯示在您的選擇列表中的所有電影片名?

0

如果要顯示全部電影標題,則需要讀取結果並將它們全部存儲。目前,您每次從結果中提取記錄時都會覆蓋$movieTitle。嘗試是這樣的:

$titles = array(); 
while($row = mysql_fetch_array($sql_result)) { 
    $titles[] = $row['title']; 
} 

//... 

<select name="title"> 
    <option><?php echo implode("</option>\n<option>",$titles); ?></option> 
</select>