我从阅读本网站上的其他帖子看到,有一个类似于我想要做的解决方案,但是当我在Dreamweaver中构建时,一些语法不同,我不确定我需要哪些部分
我认为有一个If {}声明要添加,只是不确定在哪里...
所以我有一个页面用于从邮轮假期列表中选择一个,用户从下拉菜单中选择他们想去的地方,然后显示前往该目的地的游轮。简单。接下来,他们可以选择他们想要旅行的时间,通过跳转菜单缩小搜索结果到特定月份
所以我的第一组记录就是加勒比地区的所有游轮。
2012年4月有两个,2012年5月有两个。
所以我已经在我的列表中显示了所有四个,但现在我希望用户选择一个月,并通过使用目标过滤记录集填充跳转菜单,我得到四个选择
2012年4月 2012年4月 2012年5月 2012年5月
我真正想要的是
2012年4月 2012年5月
如果我在MySQL查询中按月对记录进行分组,我不会在目的地列表中获得我们想要的所有四次巡航。
以下是“月选择器”菜单的代码
<select name="jumpMenu2" id="jumpMenu2" onchange="MM_jumpMenu('parent',this,0)">
<option value="">Select a date</option>
<?php do { ?>
<option value="chooseacruise.php?destination=<?php echo urlencode($row_cruises['destination']);?>&<?php echo $row_cruises['departs']?>"><?php echo date('F Y', strtotime($row_cruises['departs'])); ?></option>
<?php } while ($row_cruises = mysql_fetch_assoc($cruises));
$rows = mysql_num_rows($cruises);
if($rows > 0) {
mysql_data_seek($cruises, 0);
$row_cruises = mysql_fetch_assoc($cruises);
}
?>
</select>
while循环是Dreamweaver填充菜单的标准循环。我想要写月份,然后在下一行,如果月份相同,则忽略它。
提前致谢
Rich:)
答案 0 :(得分:0)
首先,这与Dreamweaver无关。语法是一样的。这是一个简单的解决方案:
<select name="jumpMenu2" id="jumpMenu2" onchange="MM_jumpMenu('parent',this,0)">
<option value="">Select a date</option>
<?php
$month = '';
while ($row_cruises = mysql_fetch_assoc($cruises)) {
if ($row_cruises['departs'] != $month) {
$month = $row_cruises['departs'];
?>
<option value="chooseacruise.php?destination=<?php echo urlencode($row_cruises['destination']);?>&<?php echo $row_cruises['departs']?>"><?php echo date('F Y', strtotime($row_cruises['departs'])); ?></option>
<?php } ;
}
if(mysql_num_rows($cruises) > 0) {
mysql_data_seek($cruises, 0);
$row_cruises = mysql_fetch_assoc($cruises);
}
?>
</select>
请注意,您必须在出发时订购sql查询。