一連のマスターに基づいて詳細を一覧表示する結果ページを作成しようとしています。PHP PDOを使用したマスター/ディテール
ここでは、以下に示すような
3つのテーブル...サンプル問題です:
Book (id, title)
Author (id, name)
BookAuthors (bookID, authorID)
私はこのようなリストを生成したい:ように
Book Title 1
Author 1
Author 2
Book Title 2
Author 3
Book Title 3
Author 1
Author 4
をし、 。
私はこれを達成するためにPHP PDOを使いたいと考えています。
私は巣に期待していた...私が持っている問題は、準備された文を入れ子にすることができないときにPDOから結果を横断について移動する方法の詳細です
を
を[詳細を更新しました]クエリ内のクエリと第一クエリの結果を使用するには、[私は本のタイトルにフィルタが含まれるように問合せを拡張しましたが、これは、このようにセット全体を返す空白になることがあります]:その後、
select id as idBook,title from book where title like %:title%
にします各書籍の作者のリストを作成する
select name from author, bookauthors
where bookauthor.authorid = author.id
AND bookauthor.bookid = :idBook:
ここで、idBook:1番目のクエリの結果セットの次の帳IDです。第一クエリで検索された本の数が大きくなる可能性が通り
、私は可能な場合はfetchAll使用しないことを期待していた...
誰もがこのため、ポインタ/試料溶液のコードを得ましたか。
事前に感謝します。
サンプルコードはありませんが、私はあなたに愛と幸福を送ります。あなたは 'join'を探しています。 – hakre
[JOINクエリのPhp pdo結果]の重複が可能です。(http://stackoverflow.com/questions/1380691/php-pdo-result-of-join-query) – hakre
@hakre私はジョイントを使用することを理解しています。私が持っている問題は結果を横断しています。私は、クエリ内でクエリを入れ子にし、最初のクエリの結果を使用することを望んでいた(idBookのidをbookから選択)、各書籍の著者のリストを作成する(authorから名前を選択、bookauthor where bookauthor.authorid = author.id AND bookauthor.bookid =:idBook :) – Ady