Matthias: Schleife mit DB liesst $i = 0 falsch aus

Hi alle miteinand,

habe ein Problem mit meiner Schleife, Objekte bzw. Pfade werden aus der DB gelesen und eine Art Gallery dargestellt, leider wird bei den ersten 18 Datensätzen ein Datensatz nicht ausgelesen, nämlich der erste. Wie kann ich das umstellen, hat PHP 4.3.3 BUGS ?

hier der CODE_____

<?php
function ListContent()
{

$connID = mysql_connect ("localhost","testuser","matthias");
@mysql_select_db ("sombrero", $connID)
or die ("Anfrage war nicht erfolgreich");

$s = "select DATE_FORMAT(datum,'%d.%m.%Y') as date,name,size,type,tn,bild from kreta order by name limit 18";
$r = mysql_query($s, $connID);
$n = mysql_num_rows($r);
$o = mysql_fetch_object($r);
$anzeige = "6";
for($i=0; $i<$n;$i++)
  {
  $o = mysql_fetch_object($r);
  $image = chop($o->tn[$r]);
  $teiler = "$i"/"$anzeige";
  $nuller = "";
  $width = "500";
  $height = "400";
  $widthwin = "700";
  $heightwin = "650";
  $title = "Hallo in der Kreta Gallery";
  $link = "#";
  if (is_integer($teiler)) {
        $c .= "</tr><tr><td height="10"></td></tr><tr><td><p class="bild"><img src="$o->tn" border="1"><br><a href="$link" onClick="openPicture('jpg','$o->bild','$width','$height','$titel','','','$widthwin','$heightwin','$o->name','$o->size','$o->type')">Zum Vergrößern klicken</a></p></td>";
  }
  if (!is_integer($teiler)) {
        $c .= "<td><p class="bild"><img src="$o->tn" border="1"><br><a href="$link" onClick="openPicture('jpg','$o->bild','$width','$height','$titel','','','$widthwin','$heightwin','$o->name','$o->size','$o->type')">Zum Vergrößern klicken</a></p></td>";
        }
  }
echo "$c";
echo "</tr></table>";
}
?>

  1. Hi,

    ...

    $r = mysql_query($s, $connID);
    $n = mysql_num_rows($r);
    $o = mysql_fetch_object($r); <-- DAS MUSS RAUS, das brauchst du in der Schleife
    $anzeige = "6";

    ...

    Jaro

    1. Hi,

      ...

      $r = mysql_query($s, $connID);
      $n = mysql_num_rows($r);
      $o = mysql_fetch_object($r); <-- DAS MUSS RAUS, das brauchst du in der Schleife
      $anzeige = "6";
      ...

      Jaro

      OK das hatte ich zweimal, einmal vor der Schleife, einmal in der Schleife, hab das vor der Schleife raus, aber ich glaube ich muss in der Schleife noch eine if Bedingung für i=o schreiben, so in der Art wie die anderen beiden Schleifen sind.

      Auch mit deiner Korrektur wird das erste Bild in der Gallery nicht angezeigt, die Variablen sind ''.

      An PHP 4.3.3 liegt es nicht oder ?

      1. Moin!

        OK das hatte ich zweimal, einmal vor der Schleife, einmal in der Schleife, hab das vor der Schleife raus, aber ich glaube ich muss in der Schleife noch eine if Bedingung für i=o schreiben, so in der Art wie die anderen beiden Schleifen sind.

        Diese Änderung ist schon ganz korrekt. Was erwartest du auch? Du machst eine DB-Abfrage, fragst vor der Schleife den ersten Datensatz ab, wirfst diese Daten weg, und wunderst dich, dass deine Schleife den ersten Datensatz nicht ausgibt.

        Auch mit deiner Korrektur wird das erste Bild in der Gallery nicht angezeigt, die Variablen sind ''.

        Das ist dann Pech.

        An PHP 4.3.3 liegt es nicht oder ?

        Ganz sicher nicht. Das Problem sitzt vor dem Bildschirm. :)

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|