2

mysql データベースからドロップダウン メニューを作成しています。うまくいきますが、値を繰り返さないようにしたいです。(つまり、ある値がデータベースで N 回ある場合、ドロップダウン リストには 1 回だけ表示されます)

これが私のコードです:

<?php

mysql_connect('host', 'user', 'pass');
mysql_select_db ("database");

$sql = "SELECT year FROM data";
$result = mysql_query($sql);

echo "<select name='year'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['year'] . "'>" . $row['year'] . "</option>";
}
echo "</select>";

?>
4

5 に答える 5

10

クエリでDISTINCTを使用します。

"SELECT DISTINCT year FROM data";
于 2012-07-16T09:37:07.517 に答える
4

クエリを変更するだけです。優れている

$sql = "データから異なる年を選択";

于 2012-07-16T09:37:59.510 に答える
2

別のテクニック:

select year from table group by year
于 2012-07-16T09:39:30.027 に答える
1

PHP側では、これを行う必要があります

$all_data = array();

echo "<select name='year'>";
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
 array_push($all_data,$row["column"]);
}
$all_data = array_unique($all_data);
foreach($all_data as $columns => $values){
 print("<option value='$value'>$value</option>");
}
echo "</select>";
于 2012-07-16T09:40:12.220 に答える