I have the following PHP code which runs a MySQL query and returns the results as an array:
function mysql_resultTo2DAssocArray ( $result) {
$i=0;
$ret = array();
while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $key => $value) {
$ret[$i][$key] = $value;
}
$i++;
}
return ($ret);
}
$compare = mysql_resultTo2DAssocArray(mysql_query("SELECT Temp.School, Temp.Status, Snow.Token FROM Temp
JOIN Snow ON Temp.School = Snow.School"));
The results of this look like:
Array
(
[0] => Array
(
[School] => School Name 1
[Status] => Delayed Two Hours
[Token] => Token1
)
[1] => Array
(
[School] => School Name 1
[Status] => Delayed Two Hours
[Token] => Token2
)
)
Is it possible to combine the Token items by a comma within those arrays if the School item is the same for each?
One thing is that it’s possible for there to be more arrays within the global array, with different School names, that shouldn’t be grouped but left alone. Basically, is it possible to ONLY group when School is the same. It’s also possible for there to be more than two tokens.
This isn’t completely valid, because the
Statuscolumn is not aggregated or part of theGROUP BY; however MySQL normally allows it (there’s an option to disallow it, I don’t remember the name offhand). If there are rows with different Status values, it will pick one of them arbitrarily; you didn’t say what should happen with different Statuses.