我的表performanta_cpu
中有一行modele
,该行包含不同的数字cpu的frecv。例如:800, 1200, 1500,
等,我想要预告所有的frecv。但如果4个设备具有相同的CPU速度,则显示第4次相同的frecv。
是否可以在html <select>
前800
,1000
,1200
,1400
等处获得一次frecv?
这是我的代码:
$sql = "SELECT * FROM $tbl_name ORDER BY performanta_cpu DESC";
foreach ($dbh->query($sql) as $linie)
{
print '<option value="'.$linie["performanta_cpu"].'">'.$linie["performanta_cpu"].'</option>'; }?>
这就是我得到的:
<option value="800">800</option>
<option value="800">800</option>
<option value="2000">2000</option>
<option value="2000">2000</option>
<option value="1600">1600</option>
<option value="1500">1500</option>
<option value="1500">1500</option>
<option value="1500">1500</option>
<option value="1400">1400</option>
<option value="1000">1000</option>
<option value="1000">1000</option>
<option value="1000">1000</option>
<option value=""></option>
正确就是这样:
<option value="1600">1600</option>
<option value="1500">1500</option>
<option value="1400">1400</option>
<option value="1300">1300</option>
<option value="1200">1200</option>
<option value="1100">1100</option>
and so...
答案 0 :(得分:4)
将查询更改为
SELECT DISTINCT(performanta_cpu) FROM $tbl_name ORDER BY performanta_cpu DESC
答案 1 :(得分:3)
你可以SELECT DISTINCT(performanta_cpu) FROM $tbl_name ORDER BY CAST(performanta_cpu AS UNSIGNED) DESC
答案 2 :(得分:1)
如果要添加DISTINCT,它必须有效。
SELECT DISTINCT (performanta_cpu)FROM $ tbl_name ORDER BY performanta_cpu
答案 3 :(得分:0)
试试这个
$sql = "SELECT * FROM $tbl_name ORDER BY performanta_cpu DESC";
$cpu = array();
foreach ($dbh->query($sql) as $linie)
$cpu[] = $linie["performanta_cpu"];
$cpu = array_unique($cpu);
foreach($cpu as $val)
print '<option value="'.$val.'">'.$val.'</option>'; }?>