制作一个简单的电影评论网站来练习PHP。在一个页面(一个表单)我写一个标题并审查和提交,然后将信息添加到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 :(得分: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>
答案 1 :(得分:0)
一方面,每次你的循环重复时你都会覆盖$ movieTitle ...你不想在选择列表中显示所有电影标题吗?
答案 2 :(得分: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>