micha: wo steckt der fehler?

hi, habe ein php-problem.
habe eine datenbank mit folgenden einträgen:

pro_id | pic_id | pic_name | pic_path
--------------------------------------
1      |    1   |  1.gif   | pfadangabe
1      |    2   |  2.gif   | pfadangabe
1      |    3   |  3.gif   | pfadangabe

diese bilder möchte ich nun als link ausgeben.
habe ich so programmiert:

...
while($r=mysql_fetch_array($result)){
     echo("".$r["pic_id"]." ");
}
...

allerdings wird hierbei der erste eintrag der tablle nicht übernommen.
die anderen einträge werden korrekt angezeigt.
kann mir jemand erklären woran das liegt?
vielen dank im voraus,

micha

  1. abend,

    pro_id | pic_id | pic_name | pic_path

    1      |    1   |  1.gif   | pfadangabe
    1      |    2   |  2.gif   | pfadangabe
    1      |    3   |  3.gif   | pfadangabe
    while($r=mysql_fetch_array($result)){

    wie lautet deine select-anweisung ?

    echo("".$r["pic_id"]." ");

    image-tag ?

    }
    allerdings wird hierbei der erste eintrag der tablle nicht übernommen.
    die anderen einträge werden korrekt angezeigt.
    kann mir jemand erklären woran das liegt?

    bitte ein wenig mehr informationen...

    vielen dank im voraus,

    no prob..

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
    1. quelltext:

      $result = mysql_query("SELECT * from DB WHERE pro_id='$pro' order by pic_id asc");
      $r=mysql_fetch_array($result);

      $pro ist eine variable die in der url übergeben wird.

      wie gesagt, es werden alle einträge korrekt ausgegeben, nur halt der erste eintrag nicht

      1. abend,

        $result = mysql_query("SELECT * from DB WHERE pro_id='$pro' order by pic_id asc");

        --------------------------^ pack dein sql-statement erstmal in eine extra
                                    variable, damit du es dir ausgeben lassen kannst.
        was passiert wenn du dieses statement dann direkt unter mysql oder phpMyAdmin
        ausführst ? erscheint da die erste zeile ?

        mfg,
        (tanz das)
        Z.N.S.

        --
        <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
        1. habe die lösung schon rausbekommen.
          steht im obigen post.
          vielen dank für deine bemühungen

  2. Hi,

    kann mir jemand erklären woran das liegt?

    an dem Code, der vor der while-Schleife steht.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. hola ...

      (ich denke daran liegts OHNE den ganzen code gesehen zu haben)

      du holst vor der schleife den ersten eintrag aus der db ...
      gehst in die schleife und holst den naechsten ... also beginnt die anzeige mit dem zweiten eintrag ...

      hasp

      1. du holst vor der schleife den ersten eintrag aus der db ...
        gehst in die schleife und holst den naechsten ... also beginnt die anzeige mit dem zweiten eintrag ...

        genau daran lag es. musste im endeffekt nur die zeile

        $r=mysql_fetch_array($result);

        rauslöschen.
        vielen dank für die schnelle hilfe !!!

        1. kein Problem

  3. Hello Micha,

    while($r=mysql_fetch_array($result)){

    Noch ein Tipp am Rande:
    mysql_fetch_array() baut zwei Arrays auf. Ein indiziertes und ein assoziatives. Das ist rausgeschmissenes Geld. Nimm doch mysql_fetch_assoc() für diesen Zweck.

    Grüße

    Tom