partywelt: Bildergalerie

Hallo zusammen

ich habe ein Problem und zwar möchte ich eine Bildergalerie auf meine Homepage machen. Habe schon ein Javaskript mit dem ich die Bilder hochladen kann und der die Bilder in eine MySQL Datenbank schreibt.

Ich lasse die Bilder dann auslesen, also immer 12 Stück pro Seite. Jedoch werden mir die Bilder alle untereinander angezeigt. Wenn ich <td> Zellen mache werden sie mir nebeneinander angezeigt.

Wie bekomme ich es hin, dass mir immer 3 Bilder nebeneinander angezeigt werden in 4 Zeilen, also sprich eine 3 x 4 Tabelle. Da ich die Bilder innerhalb einer Schleife auslese, hab ichs versucht mit weiteren Schleifen in der einen Schleife, aba dann macht der mir 12 mal das gleiche Bild.

Hier mein Code:

$sql="select * from galerie_bilder where name='$name' && uid='$user' order by bild_id asc limit $start,$trefferproseite;";
$result=mysql_query($sql);
while($row = mysql_fetch_assoc($result))
 {
print("
<a href=galerie_bild.php?bild_id=$row[bild_id]><img border=0 src='Uploads/$row[link]'></a>
");
 }

hoffe ihr könnt mir helfen

Vielen Dank
partywelt

  1. Hello,

    hoffe ihr könnt mir helfen

    Da empfehle ich Dir diesen Thread: http://forum.de.selfhtml.org/archiv/2007/12/t163004/

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. @@partywelt:

    Wie bekomme ich es hin, dass mir immer 3 Bilder nebeneinander angezeigt werden in 4 Zeilen, also sprich eine 3 x 4 Tabelle.

    Eher eine http://de.selfhtml.org/html/text/listen.htm#aufzaehlung@title=Liste mit 12 http://de.selfhtml.org/html/text/listen.htm#aufzaehlung@title=Items.

    Die http://de.selfhtml.org/css/eigenschaften/positionierung.htm#width@title=Breite der Liste entspricht dem Dreifachen der Breite der Listitems (der Bilder) plus Leerraum.

    Die Listitems entweder <http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=floaten lassen> oder <http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=inline darstellen> oder noch besser.

    Da ich die Bilder innerhalb einer Schleife auslese, hab ichs versucht mit weiteren Schleifen in der einen Schleife,

    Bei einer Liste brauchst du nur eine Schleife.

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  3. Grüße,

    Habe schon ein Javaskript mit dem ich die Bilder hochladen kann und der die Bilder in eine MySQL Datenbank schreibt.

    hilfe! mein weltbild bekommt risse!?

    Wie bekomme ich es hin, dass mir immer 3 Bilder nebeneinander angezeigt werden in 4 Zeilen, also sprich eine 3 x 4 Tabelle. Da ich die Bilder innerhalb einer Schleife auslese, hab ichs versucht mit weiteren Schleifen in der einen Schleife, aba dann macht der mir 12 mal das gleiche Bild.

    schlepp ene variable - sagen wir "$mu" mit - die fängt bei 0 an, und wird für jedes ausgegebene bild um 1 erhöht.
    sobald $m%4 false ist, brichst du irgendwie (br, neue zeile, clear:both , onstiges) um

    MFG
    bleicher

    1. Grüße,

      sobald $m%4 false ist, brichst du irgendwie (br, neue zeile, clear:both , onstiges) um

      korrektur:
       "false"/0, ===false ist es natürlich *nicht*.
      MFG
      bleicher

  4. Hi,

    Habe schon ein Javaskript mit dem ich die Bilder hochladen kann und der die Bilder in eine MySQL Datenbank schreibt.

    abgesehen davon, dass clientseitiges Javascript nichts auf dem Server speichern kann, ist eine Datenbank hier völlig überflüssig. Du kannst die Bilder auch einfach in ein Verzeichnis schieben und dieses dann auslesen.

    Wie bekomme ich es hin, dass mir immer 3 Bilder nebeneinander angezeigt werden in 4 Zeilen, also sprich eine 3 x 4 Tabelle.

    diese Frage hat nicht unbedingt etwas mit PHP zu tun. Sofern die Bilder gleiche Größe haben, brauchst Du keine Tabelle oder andere Elemente um die Bilder. Es reicht ein äußeres div mit passender Breite und margin-Angaben für img. Alternativ wie schon vorgeschlagen eine Liste.

    $sql="select * from galerie_bilder where name='$name' && uid='$user' order by bild_id asc limit $start,$trefferproseite;";

    vergiss nicht die Absicherung über mysql_real_escape_string()!

    freundliche Grüße
    Ingo

    1. Hello,

      abgesehen davon, dass clientseitiges Javascript nichts auf dem Server speichern kann, ist eine Datenbank hier völlig überflüssig.

      Es gibt auch JavaScript für Server. http://en.wikipedia.org/wiki/Server-side_JavaScript

      Vielleicht war ja auch ein Java-Script (Java Servelet) gemeint. Man sollte erstmal nachfragen.

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hi,

        abgesehen davon, dass clientseitiges Javascript nichts auf dem Server speichern kann, ist eine Datenbank hier völlig überflüssig.

        Es gibt auch JavaScript für Server. http://en.wikipedia.org/wiki/Server-side_JavaScript

        deshalb schrieb ich auch extra "clientseitiges". ;-)

        Vielleicht war ja auch ein Java-Script (Java Servelet) gemeint. Man sollte erstmal nachfragen.

        das hatte ich mir wegen der Bezeichnung "Javaskript" und der Angabe "mit dem ich die Bilder hochladen kann" verkniffen...

        freundliche Grüße
        Ingo

        1. Hello Ingo,

          das hatte ich mir wegen der Bezeichnung "Javaskript" und der Angabe "mit dem ich die Bilder hochladen kann" verkniffen...

          Ich wollte hier auch nicht den <besserwessi>-Modus aktivieren, sondern nur darauf hinweisen, dass es sowas gibt und vielleicht selber noch etwas Input über den Stand dieser Techniken erhaschen ;-)

          Gestutzt über die Formulierung habe ich am Anfang auch und der erste Gedanke war "Troll?".

          Liebe Grüße aus Syburg bei Dortmund

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
  5. Hat sich erledigt. So hab ichs geschafft

    <table>
      <tr>
      <?php
      $f = 0;
      while($row = mysql_fetch_assoc($result)) {

    ++ $f;
        print("
        <td>
          <a href=galerie_bild.php?bild_id=$row[bild_id]><img border=0 src='Uploads/$row[link]' width=$widthA height=$heightA></a>
        </td>
        ");
        if ($f % 3 == 0) echo "</tr><tr>";
      }
      ?>
      </tr>
    </table>