如何列出没有重复值的下拉选项
Posted
技术标签:
【中文标题】如何列出没有重复值的下拉选项【英文标题】:How to list out dropdown option without duplicate value 【发布时间】:2014-08-07 01:09:42 【问题描述】:目前我从数据库中检索“01/05/2014”和“01/06/2014”等日期记录并显示到选择选项中。
这是我的代码:
<label>Year</label>
<select style="margin-right:20px;">
<option value="--" selected="selected">--</option>
<?php
require('Retail/database_connection.php');
if (@mysqli_connect_errno())
echo "Failed to connect to MySQL: " . mysqli_connect_error();
$select_album_date= "SELECT DISTINCT photo_album_date FROM tblPhotoAlbum";
$result = mysqli_query ($mydatabase, $select_album_date);
if($result)
while($row = mysqli_fetch_array($result))
$date = $row['photo_album_date'];
$arr = explode("/", $date);
//Split date result into $day, $month, and $year
list($month, $day, $year) = $arr;
echo '<option>'.$year.'</option>';
mysqli_close($mydatabase);
?>
</select>
我得到的 $year 的输出将是 2014 年,2014 年是重复的。如何在我的下拉列表中只显示一个 2014?
【问题讨论】:
【参考方案1】:你可以像这样得到不同的年份,
SELECT DISTINCT YEAR(STR_TO_DATE(photo_album_date,'%d/%m/%Y')) FROM tblPhotoAlbum
(未测试)
【讨论】:
【参考方案2】:试试这个
while($row = mysqli_fetch_array($result))
$date = $row['photo_album_date'];
$arr = explode("/", $date);
//Split date result into $day, $month, and $year
list($month, $day, $year) = $arr;
// save year into an array
$yr[] = $year;
// echo only if year is not in array
if(!in_array($year,$yr))
echo '<option>'.$year.'</option>';
【讨论】:
以上是关于如何列出没有重复值的下拉选项的主要内容,如果未能解决你的问题,请参考以下文章
Easyui Datagrid 的Combobox 如何动态修改下拉选项,以及值的转换