In het geval dat je een gegevens vanuit de database in een door komma gescheiden lijst wilt krijgen wordt veelal zoiets gedaan:
<?php $query = mysql_query("SELECT voornaam FROM gebruikers"); while($row = mysql_fetch_assoc($query){ $voornamen[] = $row['voornaam']; } echo implode(',',$voornamen); ?>
Hier wordt gebruik gemaakt van de implode functie van php. Wat als resultaat oplevert: Piet,Jan,Klaas.
Maar dat kan makkelijker! Middels de GROUP_CONCAT functie van MySQL.
<?php $query = mysql_query("SELECT GROUP_CONCAT(voornaam) AS voornamen FROM gebruikers"); $row = mysql_fetch_assoc($query); echo $row['voornamen']; ?>
Misschien niet het beste voorbeeld, gezien het hier niet heel veel scheelt, maar kijk eens naar deze functie:
<?php function get_video($video_id) { $query = $this->db->query(" SELECT supplier_id, title, duration, date, embed, ( SELECT GROUP_CONCAT(category_name) FROM categories LEFT JOIN video_cat ON video_cat.cat_id = categories.category_id WHERE video_cat.video_id=".$this->db->escape($video_id)." ) AS categories, ( SELECT GROUP_CONCAT(tag_name) FROM tags LEFT JOIN video_tag ON video_tag.tag_id = tags.tag_id WHERE video_tag.video_id=".$this->db->escape($video_id)." ) AS tags FROM videos WHERE videos.video_id=".$this->db->escape($video_id)." "); return $query->result_array(); } ?>