Mam taką oto sytuację. Mam tablicę z hotelami w miastach. Każdy rekord posiada pole hotel i miasto. Chciałbym wyświetlić listę wszystkich hoteli pogrupowanych po miastach:
- Kraków
---- hotel 1
---- hotel 2
- Warszawa
---- hotel 3
---- hotel 4
- Wrocław
---- hotel 5
---- hotel 6
Czyli powinienem mieć zapytanie zwracające wszystkie miasta a potem w pętli przez tablicę miast pytać o wszystkie hotele. No kombinuję i nic. Poradźcie, proszę.
class ModuleHD_reservation extends Module { protected $strTemplate = 'mod_HD_reservation'; protected function compile() { /* obiekt z zapytaniem o wszystkie hotele w bazie (to dziala ok) */ $objHotele = $this->Database->prepare(" SELECT * from tl_HD_hotele ") -> execute($this->HD_reservation); while ($objHotele->next()) { $arrHotele[] = array ( 'id' => $objHotele -> id, 'hotel' => $objHotele->hotel, 'miasto' => $objHotele->miasto, 'reservation_id'=> $objHotele->reservation_id ); } /* koniec */ /* pytamy o miasta w ktorych są hotele */ $objMiasta = $this->Database->prepare(" SELECT miasto from `tl_HD_hotele` group by miasto order by miasto asc ") -> execute($this->HD_reservation); while ($objMiasta->next()) { $arrMiasta[] = array ( 'miasto' => $objMiasta->miasto ); /* pytamy o wszystkie hotele w danym miescie */ $objHoteleWMiastach = $this->Database->prepare(" SELECT id, hotel from `tl_HD_hotele` where miasto like '" . $objMiasta->miasto . "'" ) -> execute($this->HD_reservation); while($objHoteleWMiastach->next()) { $arrHoteleWMiastach[] = array ( 'hotelwmiescie' => $objHoteleWMiastach->hotel, 'idhoteluwmiescie' => $objHoteleWMiastach->id ); } } $this->Template->hotele = $arrHotele; $this->Template->miasta = $arrMiasta; } }