Ankündigung

Einklappen
Keine Ankündigung bisher.

schleifen problem

Einklappen

Neue Werbung 2019

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

  • schleifen problem

    hi.

    habe ein kleines problem(sonst wär ich wohl auch nicht hier ). ich habe es schon versucht alleine zu lösen aber komme leider nicht drauf wie ich es bewerkstelligen soll. bin auch kein totaler newb in sachen php aber hier stecke ich jetz gerade einfach und ja ich denke mir es gibt sicher eine kleine, feine und elegante lösung für mein problem.
    ich werde nun kurz den tatbestand darstellen (verkürzt und nur auf das eigentliche problem beschränkt):
    ich habe daten in einer sql db gespeichert. nun will ich diese daten einfach ausgeben. normalerweise mache ich eine einfache ausgabe aus einer datenbank so:

    PHP-Code:
    $sql "SELECT * FROM `db`"
    $result mysql_query($sql); 
    while (
    $m_fetch mysql_fetch_object($result)) { 
      echo 
    "{$m_fetch->feldname}<br />"

    nun will ich aber eine etwas andere ausgabe und zwar etwa so:

    PHP-Code:
    $sql "SELECT * FROM `db`"
    $result mysql_query($sql); 
    while (
    $m_fetch mysql_fetch_object($result)) { 
      echo 
    "{$m_fetch->feldname} -"
      echo 
    "{$m_fetch->feldname} -"
      echo 
    "{$m_fetch->feldname} <br />"

    also ich würde gerne immer drei daten nebeneinander haben und dann danach erst wieder drei daten darunter. anstatt jeden datensatz untereinander.

    jedoch in diesem letzten geposteten falle wüde er ja jeden datensatz dreimal ausgeben und dass so oft wie daten in der db vorhanden sind.
    das heißt auf den nenner gebracht ich würde der while schleife gerne sagen das es (z.b. bei 6 einträgen) die schleife nur zweimal machen soll und aber in den jeweiligen schleifenzügen die variable hochzählen soll.
    hmm hoff hab das irgendwie verständlich ausgedrückt.

    normalerweise mache ich bei solchen problemen ja eine for schleife jedoch komme ich so dann nicht an die daten aus der db bzw. ich bin mir nicht ganz sicher wie.
    gedacht habe ich mir z. b. sowas:

    PHP-Code:
    $sql "SELECT * FROM `db`"
    $result mysql_query($sql); 
    $m_fetch mysql_fetch_object($result); 
    $picture_id 1
    $end_id mysql_num_rows($result);
     
    for (
    $i 1$i < (ceil($end_id 3) + 1); $i++) { 
      echo 
    "{$m_fetch->feldname1datensatzi} -"
      echo 
    "{$m_fetch->feldname1datensatzi++} -"
      echo 
    "{$m_fetch->feldname1datensatzi++} <br />"

    also ich will wirklich sowas wie eine kombinierte for und while schleife.
    das for für immer drei nebeneinander und das while weil es so alle daten aus der db holt.

    kann mir da jemand helfen? hoffe habe mich verständlich ausgedrückt.

    danke schonmal!
    mfg stefan

  • #2
    Servus..!

    Das haben wir gleich:
    einfach ne Schleife bauen und eine Variable mitlaufen lassen abfragen ob die Zahl durch 3 teilbar ist...


    PHP-Code:
    $sql "SELECT * FROM `db`"
    $result mysql_query($sql); 
    $picture_id 1
    $end_id mysql_num_rows($result);
    $i 1;
    while(
    $m_fetch mysql_fetch_object($result)) {
      if((((
    $i-1) % 3) == 0) && ($i != 1))
            { echo 
    "<br>"; } 
      echo 
    $m_fetch->feldname1datensatzi;
    $i++;

    Ungetestet.

    Keine Ahnung ob's funktioniert, probiers mal! Wenns nicht tun sollte, schreib hier die Errormeldung rein!


    MfG dex

    Kommentar


    • #3
      Hallo!

      Das hier habe ich im Einsatz und es fuktioniert!

      PHP-Code:
      $i=1;
       while(
      $row mysql_fetch_array($ergebnis)){
        
      $id   $row['id'];
        
      $catid  $row['catid'];
        
      $bild  $row['bild'];
        
       if(
      $i==1){echo "<tr>";}
       
       echo
      "<td class=\"td_forms\" align=\"center\">";
       
       
      $src="galerieorg/".$bild."";
       
      $dest="galeriethumb";
       
      $maxsize="100";
       
      $name=$bild;
       
      thumbnail($src,$maxsize,$dest,$name);
       echo
      "
       <a href=\"javascript:auf('show_pic.php?id="
      .$id."');\">
       <img src=\"galeriethumb/thumb_"
      .$name."\" border=\"0\">
       </a>
       "
      ;
       
       echo
      "</td>";
       
       if(
      $i==4) {echo "</tr>";$i=0;}
       
      $i++;
       } 
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      [URL]http://www.lit-web.de[/URL]

      Kommentar


      • #4
        vielen dank euch beiden.

        habs nun gelöst!! juhu

        mfg stefan

        Kommentar

        Lädt...
        X