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;
}
}




Wróć do góry
Raportuj







