use*_*687 0 html php select duplicate-removal
所以这是我的PHP代码:
$sql1 = "SELECT year FROM reports ORDER BY year DESC";
$res1 = mysql_query($sql1);
while($row = mysql_fetch_array($res1)) {
$selectYear = "
<select id='select_year'>
<option value='".$row['year']."'>".$row['year']."</option>
</select>
";
}
Run Code Online (Sandbox Code Playgroud)
我想要它做的只是输出一年,而不是它现在正在做什么,每年输出一年,每年的每个月都有一个条目,所以同一年有12个条目,所以我的HTML是这样的:
<select id='select_year'>
<option value='2013'>2013</option>
<option value='2013'>2013</option>
<option value='2013'>2013</option>
<option value='2013'>2013</option>
<option value='2012'>2012</option>
</select>
Run Code Online (Sandbox Code Playgroud)
但这就是我真正想要的:
<select id='select_year'>
<option value='2013'>2013</option>
<option value='2012'>2012</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这是按年度排序所有结果,以便用户可以使用选择来选择他们想要查看的年份.
有很多方法可以做到这一点,但最简单的方法可能是:
$sql1 = "SELECT DISTINCT year FROM reports ORDER BY year DESC";
Run Code Online (Sandbox Code Playgroud)
使用时DISTINCT,数据库只返回每个值中的一个.然后,您不必浪费任何资源处理PHP端的数据.