【发布时间】:2012-06-25 05:52:06
【问题描述】:
我已经有 3 年没有设计网站了,所以至少可以说我很生疏。我必须依靠 Dreamweaver CS5 来帮助我。 对……
我想要一个新闻页面,用户/客户将从下拉菜单中选择日期(1 月、2 月、3 月、4 月等)现在,我的 mySQL 数据库中有一个名为“新闻”的表这些日期引用了每一行。我已经为日期设置了一个动态列表(下拉列表)。
我想要客户从下拉列表中选择日期,并将结果显示在下面的记录集中。我假设 SQL 查询需要按照以下方式编写:
选择日期、主题、消息 来自新闻 WHERE 日期 = $ XXXXXDROPDOWNLIST XXX $
如您所见,我制作了最后一行,因为我不太了解它应该如何运作。我认为下拉列表需要采用 POST 的形式,结果表需要采用 GET 的形式。
谁能比我更有技术性,请赐教我的困境?
谢谢,罗伯。
代码
mysql_select_db($database_rcc, $rcc);
$query_dropdowndate = "SELECT DATE_FORMAT(date, '%M %Y') AS FORMATTEDDATE FROM news GROUP BY FORMATTEDDATE ORDER BY Date DESC ";
$dropdowndate = mysql_query($query_dropdowndate, $rcc) or die(mysql_error());
$row_dropdowndate = mysql_fetch_assoc($dropdowndate);
$totalRows_dropdowndate = mysql_num_rows($dropdowndate);
mysql_select_db($database_rcc, $rcc);
$query_newsitems = "SELECT `Date`, Subject, Message FROM news WHERE date = $_POST['dropdowndate']";
$newsitems = mysql_query($query_newsitems, $rcc) or die(mysql_error());
$row_newsitems = mysql_fetch_assoc($newsitems);
$totalRows_newsitems = mysql_num_rows($newsitems);
?>
<form id="choosedate" name="choosedate" method="post" action="#">
<label for="dropdowndate"></label>
<select name="dropdowndate" id="dropdowndate">
<?php
do {
?>
<option value="<?php echo $row_dropdowndate['FORMATTEDDATE']?>"<?php if (!(strcmp($row_dropdowndate['FORMATTEDDATE'], $row_dropdowndate['FORMATTEDDATE']))) {echo "selected=\"selected\"";} ?>><?php echo $row_dropdowndate['FORMATTEDDATE']?></option>
<?php
} while ($row_dropdowndate = mysql_fetch_assoc($dropdowndate));
$rows = mysql_num_rows($dropdowndate);
if($rows > 0) {
mysql_data_seek($dropdowndate, 0);
$row_dropdowndate = mysql_fetch_assoc($dropdowndate);
}
?>
</select>
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
<p> </p>
<form id="form1" name="form1" method="get" action="">
<table border="0" cellpadding="5" cellspacing="2">
<tr>
<td>Date</td>
<td>Subject</td>
<td>Message</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_newsitems['Date']; ?></td>
<td><?php echo $row_newsitems['Subject']; ?></td>
<td><?php echo $row_newsitems['Message']; ?></td>
</tr>
<?php } while ($row_newsitems = mysql_fetch_assoc($newsitems)); ?>
其中一些可能看起来很奇怪,所以让我解释一下...动态列表(下拉列表)称为“dropdowndate”,表单称为“choosedate”。有一个名为“submit”的按钮可以提交表单。 FORMATTEDDATE 是记录集的名称,它为下拉菜单提供动态列表。
我希望在用户 POST 时将动态列表中的值插入到我提到的查询中... SELECT Date, Subject, Message FROM news WHERE date = $_POST['dropdowndate']"; (这个位可能是错误的)
罗伯
【问题讨论】:
-
请输入代码。最好使用 $_POST['fieldname']
-
不要忘记验证输入或对其进行转义,请参阅 mysqli_real_escape_string()
标签: php mysql select drop-down-menu recordset