select `s1`.`question`, group_concat(quote(`so1`.`name`)) `answers` `survey` `s1` inner join `survey_option` `so1` on `so1`.`survey_id` = `s1`.`id` group `s1`.`id`; this query product question list answer quoted-comma separated string.
how expand answer string array?
the first thing comes mind explode("','", mb_substr($answers_str, 1, -1)).
are there gotchas should aware?
# run query select # `s1`.`id`, `s1`.`question`, `so1`.`name` `survey` `s1` inner join `survey_option` `so1` on `so1`.`survey_id` = `s1`.`id` # fetch query $arr = array(); while($row = mysql_fetch_object($query)) $arr[$row->question][] = $row->name; # if question's aren't unique, can fetch 'id' in query and: $arr = array(); while($row = mysql_fetch_object($query)) $arr[$row->id][] = $row; this asumes save query value $query. there's no point in doing group_concat if plan split them afterwards. using array , it's key values enough that.
Comments
Post a Comment