wo steckt der fehler?
micha
- php
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
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.
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
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.
habe die lösung schon rausbekommen.
steht im obigen post.
vielen dank für deine bemühungen
Hi,
kann mir jemand erklären woran das liegt?
an dem Code, der vor der while-Schleife steht.
Cheatah
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
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 !!!
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