Ich bin in einem Projekt, wo ich JSON-Daten von einer externen API in die MySQL-Datenbank einfügen. Das funktioniert gut.Ausgabe nach Gruppe - vielleicht foreach?
Die Ausgabe mit GROUPING
und ORDER BY
ist nicht wirklich, wie ich es will
Was ich so weit gekommen:
SELECT *, GROUP_CONCAT(DISTINCT (task))
FROM time_summary
GROUP BY projectName
ORDER BY clientName
Die Tabelle sieht wie folgt aus:
id clientName project task
1 firm One online banner
2 firm One print folder
3 firm Two water with gas
4 firm One online website
5 firm Two water with gas
6 firm Two water with gas
Ausgabe ist:
firmaOne
Online
Banner, Website
Druck
Ordner
Nun ist die Frage: Die gruppierten Aufgaben durch Kommas getrennt sind.
Ich habe eine while-Schleife Ausgang - aber ich brauche jede Aufgabe in einer neuen Zeile (durch das Projekt gruppiert) wie
firmOne
Online
Banner
Website
Drucken
Ordner
PHP-Code ist wie diese:
$new = 1;
$last_client = 'initial';
while($row = _mysql_fetch_array($sql)) {
if($last_client != $row['clientName'] && $last_client != 'initial') {
echo '<div class="cb h20"></div>';
$new = 1;
}
if($new == 1) {
echo '<span class="yellow-small">' . $row["clientName"] . '</span>';
$new = 0;
}
?>
<b><?=$row['projectName'];?></b><br>
<?=$row['GROUP_CONCAT(DISTINCT (task))'];?>
}
Wie kann ich das erreichen?
Spaltennamen und Code Sie nicht zu passen scheint ???? – RiggsFolly
Sorry, schreibe einfach zu schnell: D ich repariere es –
'SELECT *, .... GROUP BY projectName' ist schlechte Verwendung von SQL https://www.psce.com/en/blog/2012/05/15/mysql-faults-do-you-use-group-by-korrekt/ –