0

サンプルMySqlテーブル(id列もあります):

+----------------------------------+
| one  | two | three | four | five |
+----------------------------------+
| v1   | v2  | v3    | v4   | v9   |
+----------------------------------+
| v1   | v2  | v6    | v8   | v9   |
+----------------------------------+
| v1   | v7  | v6    | v4   | v10  |
+----------------------------------+
| v11  | v7  | v12   | v4   | v10  |
+----------------------------------+
| v11  | v2  | v3    | v8   | v5   |
+----------------------------------+

ここでは、プラグインの仕組みを説明します。

mysql の値を使用して、5 つの連鎖した selectbox を作成したいと考えています。簡単なクエリを使用して、このような出力を作成できます。

$result4 = mysql_query("SELECT * FROM table");
while($row4 = mysql_fetch_array($result4))
  {
  echo '<option value="'.$row4['four'].'" class="'.$row4['three'].'">'.$row4['four'].'</option>';
  }

それはこれを与えます;

<select id="model" name="model">
  <option value="">--</option>   
  <option value="v4" class="v3">v4</option>
  <option value="v4" class="v6">v4</option>
  <option value="v4" class="v12">v4</option>
  <option value="v8" class="v6">v8</option>
  <option value="v8" class="v3 v6">v8</option>
</select>

しかし、繰り返される値がいくつかあります。たとえば、「3」には複数の「2」があります。出力は次のようになります。

<select id="model" name="model">
  <option value="">--</option>   
  <option value="v4" class="v3 v6 v12">v4</option>
  <option value="v8" class="v6 v3">v8</option>
</select>

どうすればこれを作ることができますか? (テーブル行に基づく複数のクラス名)

4

1 に答える 1

0

クラスv3 v6 v12を使用し、を使用GROUP by して目的の結果を取得する場合は、代わりにこのSQLを使用してください

   $result4 = mysql_query("SELECT one ,two,group_concat(three SEPARATOR ' ') three, four , five FROM table_1 group by four ");

デモSQLフィドル

于 2013-02-15T18:25:53.220 に答える