Joy: MySql image zeilenumbruch

Hallo Leute,

ich bekomme meine Bilder aus der Datenbank und möchte einen zeilenumbruch  nach jedem 4ten Bild.

Hat wer eine Lösung?

Danke Joy

  1. Hallo

    ich bekomme meine Bilder aus der Datenbank und möchte einen zeilenumbruch  nach jedem 4ten Bild.

    Da die Ausgabe (wahrscheinlich) [1] mit HTML erfolgt, könntest du je vier Bilder
    in ein Blockelement verpacken. Hier wäre <div></div> mit einer Breitenangabe
    per CSS angesagt.
    Da du die Datenbank ja bestimmt mit einer serverseitigen Skriptsprache [1]
    ausliest, kannst du mit einer if-Abfrage innerhalb der Schleife die
    entsprechenden Tags über eine Zählvariable an die richtige Stelle setzen.

    [1] eine genauere Angabe deinerseits wäre hilfreich gewesen.

    Tschö, Auge

    PS: Was hat deine Frage mit dem Themenbereich "zu diesem Forum" zu tun?

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    1. Hallo

      ich bekomme meine Bilder aus der Datenbank und möchte einen zeilenumbruch  nach jedem 4ten Bild.

      Da die Ausgabe (wahrscheinlich) [1] mit HTML erfolgt, könntest du je vier Bilder
      in ein Blockelement verpacken. Hier wäre <div></div> mit einer Breitenangabe
      per CSS angesagt.
      Da du die Datenbank ja bestimmt mit einer serverseitigen Skriptsprache [1]
      ausliest, kannst du mit einer if-Abfrage innerhalb der Schleife die
      entsprechenden Tags über eine Zählvariable an die richtige Stelle setzen.

      [1] eine genauere Angabe deinerseits wäre hilfreich gewesen.

      Tschö, Auge

      PS: Was hat deine Frage mit dem Themenbereich "zu diesem Forum" zu tun?

      Hallo Auge,

      danke für die antwort -
      ich würde mal sagen das das nix mit diesen Forum zu tun hat - kleiner ausrutscher -

      Zu meinen problem - genauere Angaben:

      Ich habe von verschieden Veranstaltungen Bilder die ich in meiner MySql Datenbank verwalte - Erste Seite auslesen der Veranstaltung - Zweite Seite Anzeigen der Bilder in Kleinformat und durch klicken aufs Bild kommt ein javascript fenster (3te Seite) mit dem großen Bild.
      Der Sourccode der 2ten Seite:
      <?php
      include "global.inc.php";
      include "tabelle.inc.php";

      $table = new tabelle();

      mysql_connect($datahost,$datauser,$datapass);
      mysql_select_db($database);

      $strSQL = 'select ID,
            Bilder
               from  powerGalerie
               where powerGalerie.VeranstaltungsID = '.$HTTP_GET_VARS['kat'];

      $res = mysql_query($strSQL);
      while($line = mysql_fetch_row($res))
       {
       $bild = '<img src="fight_bilder/HDB_010303/'.$line[1].'" height="75" width="110" />';
       $line[1] = "<a href="javascript:fensterauf('galerie_3.php?image_ID=".$line[0]."');" >".$bild."</a>";
       $table->daten[] = array($line[1]);
       }

      mysql_close();

      $table->ueberausricht = 'align="center" class="header"';
      $table->tablattr =  'border="0" align="left" cellpadding="3"';
      ?>
      ......
      <?php echo $table->anzeigen(); ?>
      .....

      Hoffe das du mir noch weiterhelfen kannst.
      Danke
      cu Joy

      1. hi,

        Hoffe das du mir noch weiterhelfen kannst.

        wobei?
        wo hast du versucht, den tipp von Uschi umzusetzen?

        gruss,
        wahsaga

        1. hi,

          Hoffe das du mir noch weiterhelfen kannst.

          wobei?
          wo hast du versucht, den tipp von Uschi umzusetzen?

          gruss,
          wahsaga

          Hallo,

          habe ich schon versucht - hat aber nicht gefunkt - darum habe ich es wieder auf den ursprung gesetzt.

          cu Joy

          1. hi,

            wo hast du versucht, den tipp von Uschi umzusetzen?

            habe ich schon versucht - hat aber nicht gefunkt - darum habe ich es wieder auf den ursprung gesetzt.

            dann zeige her, _was_ du versucht hast.

            gruss,
            wahsaga

            1. hi,

              wo hast du versucht, den tipp von Uschi umzusetzen?

              habe ich schon versucht - hat aber nicht gefunkt - darum habe ich es wieder auf den ursprung gesetzt.

              dann zeige her, _was_ du versucht hast.

              gruss,
              wahsaga

              hi,
              also das was ich daweil geschrieben sollte richtig sein (denk ich mal) - was ich nicht zusammenbekomme ist der zähler($i) in der while schleife.

              <?php

              include "global.inc.php";
              include "tabelle.inc.php";

              $table = new tabelle();

              mysql_connect($datahost,$datauser,$datapass);
              mysql_select_db($database);

              $strSQL = 'select ID,
                    Bilder
                       from  powerGalerie
                       where powerGalerie.VeranstaltungsID = '.$HTTP_GET_VARS['kat'];

              $res = mysql_query($strSQL);
              while($line = mysql_fetch_row($res))
              {

              $bild = '<img src="fight_bilder/HDB_010303/'.$line[1].'" height="75" width="100" />';

              $line[1] = "<a href="javascript:fensterauf('galerie_3.php?image_ID=".$line[0]."');" >".$bild."</a>";
              $table->daten[] = array($line[1]);
              }

              if($i % 4 == 0 && $i != 0) {
              $bild .= '<br>';
              }

              mysql_close();

              $table->ueberausricht = 'align="center" class="header"';
              $table->tablattr =  'border="0" align="left" cellpadding="3"';
              ?>

              Hoffe auf eine lösung und keine sarkastische Antwort.

              thanks Joy

              1. Guggug Joy,

                also das was ich daweil geschrieben sollte richtig sein (denk ich mal) - was ich nicht zusammenbekomme ist der zähler($i) in der while schleife.

                Genau da liegt das Problem: $i wird nicht initialisiert und in deiner while-Schleife auch nicht hochgezaehlt.

                $i = 1; // hier wird $i initialisiert
                while($line = mysql_fetch_row($res) {
                 $bild = '<img src="fight_bilder/HDB_010303/'.$line[1].'"
                 if($i % 4 == 0) {
                   $bild .= "<br />";
                 }
                 $i++; // hier wird $i hochgezählt
                }

                Gruß, Uschi
                PS: Wo hast du denn eine sarkastische Antwort bekommen?

  2. Hallo Joy,

    wenn dir deine db-abfrage ein array mit den bildern ausgibt, die du anzeigen willst, könntest du ja mit dem Modulo-Operator arbeiten, dargestellt durch %. 5 % 4 gibt dir z.B. den Rest 1 zurück, also ist 5 nicht durch 4 teilbar.
    Immer dann, wenn der Index deines Arrays + 1 durch 4 teilbar ist, setzt du den Zeilenumbruch.

    Nehmen wir an, dein Array heisst $myBilder.

    $myBilder[0] = "bild1.gif";
    $myBilder[1] = "bild42.gif";
    usw.

    $numBilder = count($myBilder);
    $output = "";
    for($i = 0; $i < $numBilder; $i++) {
      $j = $i + 1;
      $output .= "<img src="$myBilder[$i]" />
      if($j >= 4 && $j % 4) == 0) {
        $output .= '<br />';
      }
    }

    Ich hoffe, das hilft dir.
    Noch gähnende Grüße, Uschi