Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] korrektes SQL-Statement führt zu non-object Fehler

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich habe einen Denkfehler gemacht, die zweite Query mit dem Zusatz-Select drin geht gar nicht, weil dieser Zusatz-Select nicht nur ein Ergebnis liefert sondern ab und zu auch mehrere. So kann der Query gar nicht funktionieren.

    Ich werde meine Abfragen nun so gestalten, dass es zwei Queries gibt mit komplett unterschiedlichen Bezeichnungen, hoffe das hilft dann weiter.

    Das Grundproblem ist folgendes:

    tbl_disziplin: Inhalt sind verschiedene Leichtathletikdisziplinen (in der Spalte fld_disziplin)
    tbl_athlet: Jeder Athlet ist dort drin mit Name und Schule gespeichert.
    tbl_wahl: Jeder Athlet ist mit seiner ID dort gespeichert und für jede Wahl (er kann mehrere Disziplinen wählen) wird ein Datensatz angelegt.

    Auf der Site möchte ich nun alle Namen der Athleten einer Schule eines Jahrgangs und beim entsprechenden Athleten die gewählten Disziplinen anzeigen lassen, darum die beiden Abfragen. Der entsprechende Athlet kann dann ausgewählt werden und seine gewählten Disziplinen können abgewählt oder neue hinzugefügt werden.

    Ich wollte das noch als Hintergrundinfo loswerden und möchte mich an dieser Stelle ganz herzlich für die wirklich gute und lehrreiche Hilfe bedanken.

    Liebe Grüsse aus Basel

    Martin

    Kommentar


    • #17
      Heureka!!

      Ich hab die Lösung gefunden. Es lag am Ende in der letzten while-Schleife beim fetch_array, ich musste ein fetch_object nehmen und es funktioniert, cool.

      Hier noch der finale Code, mit dem alles so läuft wie ich es gerne hätte.

      PHP-Code:
           // Abfrage der Mannschaft zusammenstellen und Vorname, Nachname und gewählte Disziplinen ausgeben
              
      $sql_athlet "SELECT a.fld_vname vname, a.fld_nname as nname, a.fld_id as id
              FROM tbl_athleten as a, tbl_wahl as d
              WHERE a.fld_id = d.tbl_athleten_fld_id
              AND d.tbl_jahr_fld_id = 
      $jahrwahl
              AND a.tbl_schulen_fld_id = 
      $schuleid
              AND a.tbl_geschlecht_fld_id = 
      $geschlechtid
              GROUP BY a.fld_id
              ORDER BY a.fld_nname, a.fld_vname"
      ;
              
      $ergebnis_athlet $db->query($sql_athlet);
              while (
      $row_athlet $ergebnis_athlet->fetch_object()) {
                  echo
      '<tr>';
                      echo
      '<td>';
                          
      #$AthletenID = $rowabfrage['AthletenID'];
                          
      $_POST['Athleten'] = $row_athlet->id;
                          echo 
      '<input type="radio" name="AthletenID" value="'.$row_athlet->id.'"/>';
                      echo
      '</td>';
                      echo
      '<td>';
                          echo 
      $row_athlet->nname;
                      echo
      '</td>';
                      echo
      '<td>';
                          echo 
      $row_athlet->vname;
                      echo
      '</td>';
                      echo
      '<td>';
                          
      $fld_id $row_athlet->id;
                          
      $sql_disziplin"SELECT a.fld_disziplin as disziplin
                          FROM tbl_disziplinen as a, tbl_wahl as b
                          WHERE a.fld_id = b.tbl_disziplinen_fld_id
                          AND b.tbl_athleten_fld_id = 
      $fld_id
                          AND b.tbl_jahr_fld_id = 
      $jahrwahl";
                          
      $result_disziplin=$db->query($sql_disziplin);
                          while (
      $row_disziplin $result_disziplin->fetch_object()) {
                              echo 
      $row_disziplin->disziplin;
                              echo 
      '&nbsp;&nbsp;&nbsp;';
                      }
                      echo
      '</td>';
                  echo
      '</tr>';
              } 
      Vielen Dank für die Denkanstösse und direkten Hilfestellungen.

      Martin

      Kommentar


      • #18
        Zitat von Moadin Beitrag anzeigen
        Es lag am Ende in der letzten while-Schleife beim fetch_array, ich musste ein fetch_object nehmen und es funktioniert, cool.
        Ich glaube dir nicht, dass das der Fehler war
        Das war höchstens "ein" Fehler, aber keiner der zu deinem Problem beigetragen hat, den du hier beschrieben hast.
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #19
          Zitat von tkausl Beitrag anzeigen
          Ich glaube dir nicht, dass das der Fehler war
          Das war höchstens "ein" Fehler, aber keiner der zu deinem Problem beigetragen hat, den du hier beschrieben hast.
          Du hast natürlich recht, smile. Der ursprüngliche Fehler hing mit dem Buffern der Queries zusammen (vgl. Beitrag von Topi. Als ich das dann bereinigt hatte lag es aber am fetch_object().

          Aber einmal mehr merke ich hier, wie aufmerksam und konstruktiv die Beiträge gelesen werden. Toll!

          Liebe Grüsse

          Martin

          Kommentar

          Lädt...
          X