MySql -> Array - Es fehlt ein Eintrag

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

  • MySql -> Array - Es fehlt ein Eintrag

    Hallo

    ich habe folgenden Code:

    PHP-Code:
    $result mysql_query("
                SELECT
                id
                FROM
                lcms_galpic
                WHERE
                lcms_galpic.kat = 8 AND lcms_galpic.ukat = 20
                ORDER BY id ASC
            "
    );
            
    $count 0;
            while(
    $rowc mysql_fetch_array($result)){
                
    $piclist[$count] = $rowc;
                
    $count++;
            } 
    Wenn ich die MySQL Abrage direkt in der Datenbak ausführe dann, ist die erste id die ich bekomme 340.

    Wenn ich aber jetzt den Array per print_r ausgebe, fängt der Array erst mit dem Index 1 an und mit der id 341.

  • #2
    Re: MySql -> Array - Es fehlt ein Eintrag

    Wo hast du $piclist initialisiert?

    Und warum lässt du überhaupt einen Zähler mitlaufen, wenn du lediglich die Array-Einträge nullbasiert nummerisch indiziert haben willst?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Den Zähler hatte ich zur Prüfung eingebaut.

      Vor der Abrage steht:

      $piclist = array();

      Kommentar


      • #4
        Und den Arrayinhalt hast du direkt nach dieser While-Schleife kontrolliert - oder erst später, nachdem du ggf. noch weitere Sachen mit dem Array angestellt hast, bzw. während einer evtl. fehlerhaften Verarbeitung ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Da zur Zeit der Array nicht weiter verwendet wird, kann damit nichts passieren...

          Kommentar


          • #6
            Tja, irgendwo muss der Fehler ja liegen.
            In dem minimalen Code-Ausschnitt, den du uns gezeigt hast, wohl nicht.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hab jetzt nochmal ne test eingebaut, irgendwie überspirngt er die erste Zeile...

              Also wenn ich folgende Abrage in phpmyadmin ausführe:

              Code:
               SELECT  *
              FROM lcms_galpic
              WHERE lcms_galpic.kat =8
              AND lcms_galpic.ukat =20
              ORDER BY id ASC
              LIMIT 0 , 30
              bekomme ich als erste Ausgabe die Reihe mit der 340 als id...

              Wenn ich folgendes in meinem Quelltext einbaue:



              PHP-Code:
              $result mysql_query("
              SELECT  *
              FROM lcms_galpic
              WHERE lcms_galpic.kat =8
              AND lcms_galpic.ukat =20
              ORDER BY id ASC
              LIMIT 0 , 30
              "
              );
              $piclist = array();
              $count 0;
              $testen '';
              while(
              $rowc mysql_fetch_array($result)){

              $piclist[$count] = $rowc;
              $testen .= $rowc[0].' - ';
              $count++;

              verschluckt er komplett den erste eintrag. Der Array fängt so an:

              Array ( [1] => Array ( [0] => 341 [id] => 341 [1]

              und $testen so:

              341 - 342 - 343 - 344 -
              Zuletzt geändert von Laire; 05.05.2009, 18:49.

              Kommentar


              • #8
                und was passiert bei
                PHP-Code:
                $testen .= $count.'-'.$rowc[0].'<br />'
                auch schon mal mit mysql_fetch_assoc probiert? irgendwo muss da was bei dir hüpfen.

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Original geschrieben von Kropff
                  und was passiert bei
                  PHP-Code:
                  $testen .= $count.'-'.$rowc[0].'<br />'
                  auch schon mal mit mysql_fetch_assoc probiert? irgendwo muss da was bei dir hüpfen.

                  peter
                  ergibt:

                  1-341
                  2-342
                  3-343
                  4-344


                  Wo zum Teufel ist die 0

                  Kommentar


                  • #10
                    mach mal aus $count ein $bla. ich vermute, dass irgendwo noch eine andere variable gleichen namens ihr unwesen treibt. ansonsten weiss ich auch nicht mehr weiter.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      PHP-Code:
                      var_dump(mysql_fetch_array(mysql_query("SELECT ..."))); 
                      Was kommt raus?

                      Kommentar


                      • #12
                        wo genau machst du denn die ausgabe (und wie) von piclist. unmittelbar nach dem ende der while schleife ?

                        $count könnte btw auch bei 12456 anfangen, es würde trotzdem das array der reihe nach füllen, wenn die daten der reihe nach eingefügt werden.

                        prüf mal onemorenerd´s post und zeig mal bitte das script mit der testausgabe (also komplett mit der ausgabe von piclist und test)

                        da kommt kein code mehr zwischendurch?

                        Kommentar

                        Lädt...
                        X