Announcement

Collapse
No announcement yet.

Daten aus SQL Abfrage werden nicht in Formular übernommen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Daten aus SQL Abfrage werden nicht in Formular übernommen

    Ich habe eben eine PN von @jda90 erhalten, die sich
    auf http://entwickler-forum.de/showthread.php?t=54357 bezieht und hier her gehört.

    Zunächst, @jda90, bitte, es ist kein guter Stil solche Fragen per PN abzuhandeln. Hier im Forum haben alle was davon, außerdem ist die Wahrscheinlichkeit, dass einem geholfen wird, ungleich höher als bei einer PN, die ja nur an eine Person gerichtet ist.
    Auch bei scheinbar simplen Fragen sollte man sich nicht scheuen, diese öffentlich zu stellen. Die meisten Programmierer können die Einsteigerschwierigkeiten nur zu gut nachvollziehen - keine Angst!


    So, zu deiner Frage

    Hi

    ich bekomme die plz und orte raus nur die interessenten zeigt er nix an. ^^


    Hier ma´n Auszug:
    Code:
    echo '<table>',
    '<tr>',
    '<th>PLZ</th>',
    '<th>ORT</th>',
    '<th>Anzahl</th>',
    '</tr>';
    while($row = mysql_fetch_array($result))
    {
    echo '<tr>',
    '<td>'.$row['plz'].'</td>',
    '<td>'.$row['Ort'].'</td>',
    '<td>'.$row['interessenten.id'].'</td>',
    '</tr>';
    Anmerkung: Es geht um die Ausgabe des Ergebnises vom SQL - Befehl:

    Code:
    SELECT PLZ, Ort, COUNT(Interessenten.ID) 
    FROM Ort LEFT JOIN interessenten ON Ort.OrtID = Interessenten.OrtID 
    GROUP BY PLZ,Ort

    $row['interessenten.id'] liefert keinen Wert, weil es diese Spalte im Ergebnis der Abfrage gar nicht gibt. Führe den SQL - Befehl mal mit einem Abfragetool (MySQLAdmin o.ä.) aus, dann siehts du, das da in der 3. Spalte etwas automatisch generiertes steht ('column1' oder 'sum(interessenten.id)' o.ä., hab jetzt kein MySQL zur Hand).

    Lösung:

    Ändern des SQL - Befehls:

    Code:
    SELECT PLZ, Ort, COUNT(Interessenten.ID)  AS Anzahl
    FROM Ort LEFT JOIN interessenten ON Ort.OrtID = Interessenten.OrtID 
    GROUP BY PLZ,Ort
    Damit hat das Abfrageergebnis einen eindeutigen Namen und kann referenziert werden:

    Code:
    echo '<tr>',
    '<td>'.$row['plz'].'</td>',
    '<td>'.$row['Ort'].'</td>',
    '<td>'.$row['Anzahl'].'</td>',
    '</tr>';
    Ich habs gleich!
    ... sagte der Programmierer.
Working...
X