-1

=)私はこの問題に悩まされています..タイプに応じてmysqlの行をグループ化する方法は、これに対する私の入力と出力の例です..データベースにこれらがあるとだけ言っておきましょう

|Name | address |  type | 
a1    add1      t_spot
c2    add2      t_acc
e3    add3      t_res
b1    add1      t_spot
d2    add2      t_acc
f3    add3      t_res

タイプごとにグループ化し、PHPを使用して選択ボックスに入れたいと思います。これが予想されるコードであると想定してください

<select name='all'>
<optgroup label="t_spot">
<option value=''>a1</option>
<option value=''>b1</option>
</optgroup>

<optgroup label="t_acc">
<option value=''>c1</option>
<option value=''>d1</option>
</optgroup>

<optgroup label="t_res">
<option value=''>e1</option>
<option value=''>f1</option>
</optgroup>
</select>

助けてください..どうもありがとうございました..

4

2 に答える 2

1

クエリでは、ORDER BY type

次に、データを読み取るときに現在のタイプを追跡し、変更が表示されたら、現在のブロックを終了して次のブロックを開始することがわかります。擬似コード:

select * from table order by type
cur_type=''
while(more rows)
    if (type != cur_type)
        if (cur_type != '')
            terminate optgroup block
        start new optgroup block
    write option
if (cur_type != '')
    terminate optgroup block
于 2012-02-08T06:44:51.903 に答える
0

タイプに基づいてwhere句を使用して複数のクエリを実行する必要があります。

select * from table where type = 't_spot'
select * from table where type = 't_acc'
...

または、すべての行をクエリし、タイプに基づいてコードでタイプごとに分割する必要があります。結果をループして、HTMLの入力に使用する個別のリストに入れます。ORDER BYはおそらくここで役立つので、結果をループするときにタイプがいつ変更されるかを追跡できます。

于 2012-02-08T06:45:56.720 に答える