Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mysql> SELECT p.id, p.project_name, p.client_id, c.client_name FROM project p LEFT JOIN client c ON p.client_id = c.id WHERE p.active_flag = '1' ORDER BY c.id DESC ;
- +-----+--------------------------------------------------------------+-----------+-------------+
- | id | project_name | client_id | client_name |
- +-----+--------------------------------------------------------------+-----------+-------------+
- | 50 | Aリスト | 9 | admin |
- | 188 | Bリスト | 9 | admin |
- | 7 | Cリスト | 2 | user |
- | 8 | Dリスト | 2 | user |
- //データベースへ接続する。
- $dsn = 'mysql:dbname=yourdbname;host=yourhost';
- $user = 'youruser';
- $password = 'yourpass';
- $dbh = new PDO($dsn, $user, $password);
- // SQL文を実行する。
- $sql = "SELECT p.id, p.project_name, p.client_id, c.client_name
- FROM project p LEFT JOIN client c ON p.client_id = c.id
- WHERE p.active_flag = '1'
- ORDER BY c.id DESC";
- $sth = $dbh->prepare($sql);
- $sth->execute();
- //SQL文で指定したすべてのデータを取得する。
- $result = $sth->fetchAll();
- //データをclient_id,project_idごとに配列へ格納する。
- $data = array();
- foreach($result as $project){
- $client_name = $project['client_name'];
- $project_id = $project['id'];
- $data[$client_name][$project_id] = $project;
- }
- print "<ul>";
- foreach($data as $client_name => $projects){
- print "<li>{$client_name}";
- print "<ul>";
- foreach($projects as $project){
- print "<li>{$project['project_name']}</li>";
- }
- print "</ul>";
- }
- print "</ul>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement