以下のようなテーブルがあった場合で、
戻り値を"鈴木" "佐藤" "山田"と順番に取得する場合、
どのようにPHPでSQL文を書けばいいでしょうか?
ご存知の方が居ましたら、教えていただけますか?
"名前" "都道府県" "担当エリア"
"鈴木" "北海道" "札幌"
"鈴木" "北海道" "旭川"
"佐藤" "北海道" "十勝"
"佐藤" "北海道" "夕張"
"山田" "北海道" "函館"
"山田" "北海道" "根室"
3名の順番を決める要素が必要です。例えば下記のようなものです。
担当者コード | 名前 | 都道府県 | 担当エリア |
---|---|---|---|
1 | 鈴木 | 北海道 | 札幌 |
1 | 鈴木 | 北海道 | 旭川 |
2 | 佐藤 | 北海道 | 十勝 |
2 | 佐藤 | 北海道 | 夕張 |
3 | 山田 | 北海道 | 函館 |
3 | 山田 | 北海道 | 根室 |
担当者コード順で出力する例(説明用にカラム名は日本語で記述しています)
<?php $dbhandle = sqlite_open('データベースファイル'); $sql = 'SELECT 担当者コード,名前 FROM テーブル GROUP BY 担当者コード,名前 ORDER BY 担当者コード'; $result = sqlite_array_query($dbhandle, $sql, SQLITE_ASSOC); foreach ($result as $entry) { echo $entry['名前']; } ?>
http://jp2.php.net/manual/ja/function.sqlite-array-query.php
3名の順番を決める要素が必要です。例えば下記のようなものです。
担当者コード | 名前 | 都道府県 | 担当エリア |
---|---|---|---|
1 | 鈴木 | 北海道 | 札幌 |
1 | 鈴木 | 北海道 | 旭川 |
2 | 佐藤 | 北海道 | 十勝 |
2 | 佐藤 | 北海道 | 夕張 |
3 | 山田 | 北海道 | 函館 |
3 | 山田 | 北海道 | 根室 |
担当者コード順で出力する例(説明用にカラム名は日本語で記述しています)
<?php $dbhandle = sqlite_open('データベースファイル'); $sql = 'SELECT 担当者コード,名前 FROM テーブル GROUP BY 担当者コード,名前 ORDER BY 担当者コード'; $result = sqlite_array_query($dbhandle, $sql, SQLITE_ASSOC); foreach ($result as $entry) { echo $entry['名前']; } ?>
http://jp2.php.net/manual/ja/function.sqlite-array-query.php
SQLでORDER BYを使います。
名前で並び変えても可能ですが、この場合、文字コードで並べら得られます。
郵便番号その他、並び替えたいものをでーたに埋め込むのが良いでしょう。
ORDER BYは複数指定できます。
ORDER BY 項目1、項目2 です。
コメント(1件)
個別に返信できなくて申し訳ありません。
(締め切っちゃったので。汗)
また機会がありましたらよろしくおねがします。