De volledige uitkomst gaat over room_id=1, maar doordat de room 2 afbeeldingen heeft en 4 verschillende services beidt heb ik een tabel met 8 regels.
Hoe kan ik deze uitlezen daar ik nu geen enkele regel heb voor deze room.
wordt dat een lus in een lus?? Wie kan me helpen, ik heb enkel ervaring met tabellen waarbij er maar 1 regel zou zijn, maar dat zien jullie ook wel ;-)
[size=xsmall]Toevoeging op 18/11/2014 10:06:39:[/size]
Of zo:
<?php
$arr = [];
// verkrijg de kolomnamen in een array
$keys = array_keys($result[0]);
// loop door de kolommen
foreach($keys as $key)
{
//pak van alle records de kolom waarde en zet die in een array, vervolgens verwijder dubbele waardes
$arr[$key] = array_unique(array_column($result, $key));
}
echo '<pre>';
print_r($arr);
echo '</pre>';
?>
<?php
$sql= 'SELECT
r.room_id,
r.room_name,
GROUP_CONCAT(i.image_name) image_list
GROUP_CONCAT(s.service_name) service_list
FROM
rooms r
JOIN
images i
USING (room_id)
JOIN
services s
USING (room_id)
GROUP BY
r.room_id';
$result = $this->db->query($sql)->result();
foreach ($result as $key => $room) {
$result[$key]->image_list = explode(',', $room->image_list);
$result[$key]->service_list = explode(',', $room->service_list);
}
Hi Rickert, heel erg bedankt voor je reactie. Ik ben op de hoogte van de active-record binnen CI, maar heb (eenvoudige) queries op deze manier leren maken. Voor mij is het handiger omdat ik niet alleen met CI werk.
?
Onbekende gebruiker
05-12-2014 14:14
Jennifer Van W op 05/12/2014 14:02:00
Hi Rickert, heel erg bedankt voor je reactie. Ik ben op de hoogte van de active-record binnen CI, maar heb (eenvoudige) queries op deze manier leren maken. Voor mij is het handiger omdat ik niet alleen met CI werk.
Aha kijk dat veranderd de zaak. Bij Active Record worden alle waardes namelijk ook meteen "ge-escaped", mysql_injection.
Ik denk dat iedereen ze queries zelf leert schrijven en dat is zeker een goede manier om het te leren.
Mocht er binnen een framework zijn om het anders dan handmatig te doen zou ik het zeer aanraden. Het is niet voor niets ontwikkeld.
Belangrijkste voor nu is.. dat het gewoon werkt en dat je het begrijpt, toch?
Voor andere CI gerelateerde vragen kan je ze stellen, ik werk er al meer als 2 jaar mee en hier op PHPhulp hebben ze er niet veel kennis van. Heb zelf ook weleens een vraag gesteld en toen konden ze me ook helaas niet helpen.