SQL-Ressource und while-Schleife

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

  • SQL-Ressource und while-Schleife

    Moin,

    ich hole mir aus der Datenbank x-Datensätze und gebe sie per while-Schleife aus. Nun habe ich das Problem, das die While-Schleife meinen ersten Datensatz immer "unterschlägt" ? Was mache ich da falsch ??

    PHP-Code:
    ...
    $res mysql_db_query($db_base,$sql);
    ....
    while (
    $row=mysql_fetch_array($res)) {
    ...
    echo 
    $row['id']
    ...

    Eigntlich ist das doch so richtig, oder habe ich einen Denkfehler ?

    Danke schon einmal !!

    Ciao
    ExeCRabLE

  • #2
    Jepp, sieht OK aus!
    Was heißt unterschlägt?
    Kommt der vermeintliche "erste" Datensatz durch ORDER BY etc. weiter unten?

    Kommentar


    • #3
      Der erste Datensatz wird nicht ausgegeben, wenn ich die Ressource aber per:

      PHP-Code:
      $num mysql_num_rows($res);
      echo 
      $num
      ausgebe, wird der Wert 5 wiedergegeben.

      Wenn ich mir die IDs der 5 Datensätze in einer for-Schleife ausgeben lasse , bekomme ich alle 5 IDs....

      Lasse ich dann das ganze durch die While-Shleife laufen, bekomme ich nur 4 Datensätze.

      Das macht mich gerade Wahnsinnig

      Order by habe ich im ersten Schritt noch nicht ... die ganze Logik funktioniert perfekt, nur das dier erste Datensatz nicht ausgegeben wird.

      *denk*

      Kommentar


      • #4
        Hö? Was'n das los?

        Zeig mal mehr Code, so von da an, wo du das SQL-Statement definierst bis zum Ende deiner While-Schleife.

        Gruss
        Quetschi
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Kannst mal dein SQL-Statement ("SELECT * ...") posten?

          Kommentar


          • #6
            Ok, ich habe den Fehler gefunden ... *heul*

            Ich hatte den Befehl :

            $row = mysql_fetch_array($res);

            in einer vorherigen Abfrage genutzt und in in der While-Schleife nochmals benutzt, dadurch hat es in der While-Schleife nur noch 4 Datensätze.

            Wie kann das sein ? Das hat mich jetzt aber überrascht.

            Kommentar


            • #7
              Naja, du hast das erste Ergebnis eben bereits ausgegeben bzw. in $row abgelegt. Beim erneuten Zugriff auf die Query mit mysql_fetch_array geht es dann eben mit dem zweiten weiter!
              War sozusagen eine manuelle while-Schleife !

              Kommentar


              • #8
                Original geschrieben von execrable
                Wie kann das sein ? Das hat mich jetzt aber überrascht.
                Ich erlaub mir mal nen Mod von hier zu zitieren, weiß aber grad nimmer wer das war:

                Ich tippe auf einen externen Fehler, ca. 50 cm vorm Bildschirm

                Gruss
                Quetschi
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #9
                  Ich habe da jetzt gute 4 Stunden vor dem Skript verbracht

                  Ich dachte nicht das bei dem Aufruf ein "Zeiger" gesetzt wird.

                  Aber gut das wir darüber geredet haben...

                  Kommentar


                  • #10
                    Den Fehler kenn ich, den include ich auch zu oft !

                    Kommentar


                    • #11
                      Original geschrieben von Quetschi
                      Ich erlaub mir mal nen Mod von hier zu zitieren, weiß aber grad nimmer wer das war:

                      Ich tippe auf einen externen Fehler, ca. 50 cm vorm Bildschirm

                      Gruss
                      Quetschi
                      Da irrst du dich !!! Ich habe nachgemessen, es sind nur 43cm

                      Kommentar


                      • #12
                        Original geschrieben von ExInfernis
                        Den Fehler kenn ich, den include ich auch zu oft !
                        Das fiese dabei ist, das ich den Fehler bis dato noch nie hatte. Ok die Skripts waren bis dato auch nicht sooo kompliziert.

                        Ärgern, abhacken und das nächste mal sich noch mehr drüber ärgern

                        Kommentar

                        Lädt...
                        X