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();
}
?>