[Funktion] Problem mit while-schleife

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

  • [Funktion] Problem mit while-schleife

    Hi leute!

    Ich hab ein Problem mit einer While-Schleife mit der funktion mysql_fetch_assoc.. der code sieht folgendermassen aus:

    Code:
    $abfrage = mysql_query("SELECT id,name FROM rubrik");
    $rubrik = mysql_fetch_assoc($abfrage);
    while($rubrik=mysql_fetch_assoc($abfrage)){
    					
    // Tu irgendwas //
    
    				}
    Nun, mein problem:

    wenn ich die schleiffe fussgeseuert machen würde, bekäme ich, wenn kein Datensatz vorhanden ist ein error.
    Wenn ich die Schleife so habe wie obed geschrieben, dann bringt er mir den ersten Datensatz nicht

    Hat jemand eine idee?

    Vielen Dank & Gruss

    Keen

  • #2
    PHP-Code:
    $abfrage mysql_query("SELECT id,name FROM rubrik");

    if(
    mysql_num_rows($abfrage) == 0) {
     
    # Keine Einträge vorhanden
    }

    while(
    $rubrik=mysql_fetch_assoc($abfrage)){
                        
    // Tu irgendwas //


    Zuletzt geändert von fox34; 09.02.2006, 20:34.

    Kommentar


    • #3
      nope...
      brauche die funktion zuviel um einfach eine if abfrage vorne ran zu setzen

      Kommentar


      • #4
        mysql_data_seek

        setze den zeiger mit mysql_data_seek wieder zurück, dann klappt das auch.

        Kommentar


        • #5
          ysql_data_seek(): supplied argument is not a valid MySQL result resource
          ?

          Kommentar


          • #6
            error_reporting(0)?
            mfg - sagg

            Kommentar


            • #7
              was meinst du damit?

              Kommentar


              • #8
                Er meint damit dass du an den anfang von deinem Script das hier hinschreiben sollst:

                error_reporting(E_ALL);

                -> error_reporting(0) bedeutet dass keine Fehler angezeigt werden

                Evtl. auch echo mysql_error(); nach dem Query.

                Kommentar


                • #9
                  Original geschrieben von fox34
                  Er meint damit dass du an den anfang von deinem Script das hier hinschreiben sollst:

                  error_reporting(E_ALL);
                  Nein!

                  wenn ich die schleiffe fussgeseuert machen würde, bekäme ich, wenn kein Datensatz vorhanden ist ein error.
                  Wieso dann die Fehlermeldung nicht einfach mit error_reporting(0) unterdrücken?
                  If willst du ja nicht...
                  mfg - sagg

                  Kommentar


                  • #10
                    Wenn ich die Schleife so habe wie obed geschrieben, dann bringt er mir den ersten Datensatz nicht
                    Works as designed
                    Du greifst ja schon vorher auf die Resultat Ressource zu ($rubrik = mysql_fetch_assoc($abfrage);
                    Dies setzt den Zeiger um eine Stelle nach vorne d.h. wenn du alles in der Schleife ausgibst wird dir das erste Resultat fehlen.
                    Lass die Zeile $rubrik=... weg und probier das folgende
                    PHP-Code:
                    while($rubrik=mysql_fetch_assoc($abfrage)){
                    // tu irgendwas

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      cool tobi das funktionert! ganz geil

                      vielen dank

                      Kommentar


                      • #12
                        Hättest du etwas zum Thema dieser Fkt im Manual gelesen, dann hättest du sehr schnell selbst rausgefunden, was da nicht stimmen kann

                        Cheers

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar

                        Lädt...
                        X