Hallo,
Guten Tag,
ich habe ein kleine Problem mit einer Ausgabe. Ich habe in einer MYSQL Userdaten. Jeder User kann mehrere Einträge (Zeilen) in der Datenbank haben.
Jede Zeile hat eine eindeutige id.
$query = "SELECT * FROM tabelle WHERE user_id = '".mysql_real_escape_string(trim($user_id))."' GROUP BY id";
warum verwendest Du
[code lang=sql]SELECT *
statt
~~~sql
SELECT
<kommagetrennte liste der benötigten Spalten>
FROM
tabelle
Die GROUP-BY-Klausel ist (nach Deiner Beschreibung) überflüssig. Was wolltest Du mit dieser Klausel erreichen?
$result=mysql_query($query,$db);
mysql_query liefert nicht immer eine Ressource zurück. Du berücksichtigst leider nur den Gut-Fall.
Das Ergebnis ist (nach Deiner Beschreibung) eine Anzahl von Datensätzen. Iteriere mit einer passenden Schleife durch das Ergebnis, bespielsweise
Solange das Holen eines Datensatzes aus der Ergebnismenge erfolgreich ist,
Gebe die benötigten Daten aus.
Du holst nur den ersten Datensatz aus der Ergebnismenge ab und prüfst noch nicht einmal, ob dieses Abholen erfolgreich ist. Leere Ergebnismengen sind *kein* Fehler.
$row = mysql_fetch_assoc($result);
echo $ausgabe['$id']('$name']; //Leider klappt das so nicht
Nein, das Ergebnis ist *kein* zweidimensionales Array. Erst recht nicht mit der festen Zeichenkette $id als Index. Auch nicht mit den ID-Werten als Index.
Schau Dir den Inhalt von $row mit var_dump() an. Einpacken in ein pre-Element hilft bei der Lesbarkeit.
Freundliche Grüße
Vinzenz