賃貸可能なアパートの一覧を掲載したウェブサイトがあります。MySQLデータベースにいくつかの異なるテーブルがあります。1つの表は、住所、アメニティ、写真、ID(NID)など、アパート全体の基本情報を示しています。
別の表は、各建物内で賃貸可能なユニットを示しています。したがって、各アパートの建物には複数のフロアプランがあり、いくつかのスタジオ、いくつかの1ベッドルームユニット、場合によってはいくつかの2ベッドルームユニットなどがあります。
現在、「ユニット」テーブルを照会して、特定のアパートの建物内のすべてのユニットを要求しています。私のクエリは次のようになりますSELECT * FROM node_unit WHERE nid='555'
これにより、次のような結果が返される場合があります。
NID Name Rent SqFT Bedrooms Bathrooms
555 Unit 1 $500 620 0 1
555 Unit 2 $550 680 0 1
555 Unit 3 $600 820 1 1
555 Unit 4 $650 920 1 1
555 Unit 5 $700 1220 2 1
555 Unit 6 $800 1420 2 2
555 Unit 7 $900 1500 3 2
555 Unit 8 $1100 1620 3 3
などなど
私がPHPで行っているのは、アコーディオンを使用して1つの寝室をグループ化し、2つの寝室をグループ化することです。
すべてのアパートメントに2ベッドルームユニットがあるわけではなく、1ベッドルームユニットしかないアパートメントもあるため、別のアコーディオンを印刷する必要があるかどうかをPHPコード内で知る必要があります。
現在、データベースへの複数のヒットを使用して、特定の建物に2つの寝室ユニットがあるかどうかを判断しています。ある場合は、別の行を印刷します。この建物には3ベッドルームユニットがありますか?もしそうなら、別の行を印刷しますが、データベースへのアクセスをあまり止めたいと思います。
最後に、ここに私の質問があります:
最初のDB呼び出しの結果を保存し、データを解析して、特定のNIDにスタジオ、1ベッド、2ベッドなどがあるかどうかを判断するにはどうすればよいですか?(私は最近PHP / MySQLを学び始めました)