daniel haller: php gibt nicht alle datensätze aus ?

hallo forumler,

ich habe ein kleines problem und verstehe nicht ganz, wiso...

ich will über php eine DB auslesen und anzeigen, soweit eigentlich ganz einfach.
allerdings läßt php irgendwie immer einen datensatz weg ? immer den ersten, der angezeigt werden _müßte_, der wird nicht angezeigt. immer nur der danach?

mit der eigentlichen mysql-abfrage ist alles in ordnung, wenn ich die allein ohne php laufen lasse, bekomme ich genau die daten, die ich erwarte. nur php (bzw. ich ;-)) verbockt da irgendwas.

ich denke, mit dem quellcode wirds vielleicht ein bißchen klarer ;-)

$result = mysql_query("SELECT ueberschrift, kurzform, DATE_FORMAT(datum,'Datum: %d.%m.%Y / %H:%i') FROM news ORDER BY datum DESC");

$row_detail = mysql_fetch_row($result);

soweit, sogut - dann die ausgabe:
(probehalber nur 2 spalten)

<?php
     while ($row = mysql_fetch_row($result))
     {
 echo $row[2]."<br>";
 echo $row[0]."<br>";
     }
    ?>

vielleicht hat jemand von euch eine idee?
arbeite erst seit _sehr_ kurzem mit php, also übt nachsicht ;-)

vielen dank im voraus & grüße
daniel

  1. Hi!

    allerdings läßt php irgendwie immer einen datensatz weg ? immer den ersten, der angezeigt werden _müßte_, der wird nicht angezeigt. immer nur der danach?

    Ist ja auch ganz klar, denn...

    $row_detail = mysql_fetch_row($result);

    ...hier holst Du ja schon den ersten Datensatz ab.

    while ($row = mysql_fetch_row($result))
         {
    echo $row[2]."<br>";
    echo $row[0]."<br>";
         }

    Also steht hier der Zeiger schon auf dem zweiten Satz, womit die Schleife dann auch beginnt.
    Wofür brauchst Du denn die Variable $row_detail?

    VG Simon

    1. oh mann.....
      brett vorm kopp ;-)
      naja, wie gesagt, anfänger halt ;-)

      ich hatte den skriptfetzen vorher auf eine leeren seite getestet, um zu sehen ob es funzt.
      und dann eben per copy&paste rübergeholt.
      blöd ist, wer seine eigenen skriptfetzen nicht liest ;-)

      danke, du hast mir sehr geholfen !!!

      grüße daniel

  2. Moin,

    nur php (bzw. ich ;-)) verbockt da irgendwas.

    ^^^
    In der Tat, du bist schuldig ;-)

    $row_detail = mysql_fetch_row($result);

    Damit holst du die erste Zeile

    <?php
         while ($row = mysql_fetch_row($result))

    Damit holst du die 2. bis letzte Zeile...

    {
    echo $row[2]."<br>";
    echo $row[0]."<br>";

    ...und gibst die Werte (der 2. bis letzten Zeile) aus.

    }
        ?>

    Mach das $row_detail=... weg und schon geht's.

    --
    Henryk Plötz
    Grüße aus Berlin