制作一个简单的电影评论网站来练习PHP。在一个页面(表格)上,我写下标题,然后审核并提交,然后它将信息添加到mysql中。我正在尝试创建一个页面,在那里我可以删除我写的评论。为此,我将所有标题返回到一个表单标记中,在该标记中,我可以选择on,然后将该表单提交到流程页面并删除项目。
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>发布于 2010-01-22 10:45:52
尝试一下,修复方法包括关闭选项标签,并在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>发布于 2010-01-22 10:42:59
首先,每次循环重复时都会覆盖$movieTitle……难道您不想在选择列表中显示所有电影标题吗?
发布于 2010-01-22 10:45:44
如果要显示所有电影标题,则需要读取结果并将其全部存储。当前,您每次从结果中提取记录时都会覆盖$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>https://stackoverflow.com/questions/2114612
复制相似问题