PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   Bildergalerie (http://www.selfphp.de/forum/showthread.php?t=19621)

stimpy_123 18.06.2008 17:59:32

Bildergalerie
 
hallo,

habe folgendes problem:
ich möchte gerne aus meinem fertigen script eine tabelle generieren lassen, die mir dann
4 bilder in einer generierten tabelle anzeigt

hier das script:

$abfrage = "SELECT name,datum,ort,ordner,bild,clicks FROM galerie WHERE name = '$name' AND datum = '$datum' LIMIT $start, $eintraege_pro_seite";
$ergebnis = mysql_query($abfrage);
// Hier ist die Abfrage der jeweiligen Spalten
$sql1 = "SELECT ordner,clicks FROM galerie WHERE name = '$name' AND datum = '$datum'";
$result1 = mysql_db_query("$db_name", $sql1, $link);
$ordner = mysql_result($result1, $n, "ordner");
$clicks = mysql_result($result1, $n, "clicks");
$result = mysql_query("SELECT name,datum,ort,ordner,bild,clicks FROM galerie WHERE name = '$name' AND datum = '$datum'");
$menge = mysql_num_rows($result);
//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;
//Ausgabe der Seitenlinks:
echo "<td align=right><font color=#D3031C size=2>";
//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($seite == $b)
{
echo "&nbsp;<font color=#D3031C size=2><b>$b</b></font>&nbsp;";
}
//Aus dieser Seite ist der User nicht, also einen Link ausgeben
else
{
echo "&nbsp;<a href=\"?seite=$b&name=$name&datum=$datum&partyort=$partyort\"><font color=#D3031C size=2>$b</font></a>&nbsp;";
}
}
echo "</td>";
echo "</tr></table>";
echo "<bR>";
?>

<?
while($row = mysql_fetch_object($ergebnis))
{
echo "<tr>";
echo "<td><a href=bild.php?ordner=$ordner&bild=$row->bild.><img src=$partyfotos/$ordner/$row->bild. width=100 height=80></a>$clicks</td>"; // Hier die Ausgabe der Einträge
}
?>

leider bekomme ich nur 4 bilder in einer reihe. ich möchte aber gerne jeweils 2 untereinander.

wer kann mir helfen??? DRINGEND!!!

Danke im vorraus

Gweilo 18.06.2008 22:58:33

AW: Bildergalerie
 
siehe http://www.w3schools.com/tags/tag_table.asp

was du machst sind 4 kolonnen. Am schluss soll die tabelle aber so aussehen:

Code:

<table>
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
</table>

dazu kannst du einen zaehler einfuehren, der alle 2 schritte einen umbruch einfuegt ('</tr><tr>'), also zB if ($i&1 == 0).

stimpy_123 19.06.2008 00:16:41

AW: Bildergalerie
 
???? sorry, aber das verstehe ich nicht so recht.
kannst du mir das etwas ausführlicher erklären?

das ist echt wichtig.

vielen dank für deine antwort

Gweilo 19.06.2008 00:42:26

AW: Bildergalerie
 
hier die schlaufe
PHP-Code:

while($row mysql_fetch_object($ergebnis))
{
echo 
"<tr>";
echo 
"<td><a href=bild.php?ordner=$ordner&bild=$row->bild.><img src=$partyfotos/$ordner/$row->bild. width=100 height=80></a>$clicks</td>"// Hier die Ausgabe der Einträge


ich sehe grad, dein code ist ja falsch, es muesste so etwa heissen


PHP-Code:

// wenn du sicher bist, dass du mehrere eintraege hast, ist das ok, sonst musst du vorher ueberpruefen.
 
echo "<table>";
$i 0;
while(
$row mysql_fetch_object($ergebnis))
{
  if (
$i == 0)
    echo 
'<tr>';
  echo 
"<td><a href=bild.php?ordner=$ordner&bild=$row->bild.><img src=$partyfotos/$ordner/$row->bild. width=100 height=80></a>$clicks</td>"// Hier die Ausgabe der Einträge
  
$i++;
  if (
$i == 0)
    echo 
'</tr>';
}
echo 
'<table>'

wenn die zahl der eintraegen ungerade ist musst du halt ein wenig rum-kramen, bzw noch '<td>&nbsp;</td></tr>' vor table einfuegen.

nicht getestet, aber mit etwas anpassung muesste es gehen.

stimpy_123 19.06.2008 12:23:08

AW: Bildergalerie
 
hallo, hab es grade mal genauso eingebaut, aber leider weden die bilder nur nebeneinander angezeigt. sprich 4 bilder und alle nebeneinander. wie bekomme ich denn jetzt 2 nebeneinander und 2 untereinander?

vielen dank für deine hilfe.. magst du mir nochmal helfen?

Gweilo 19.06.2008 13:10:04

AW: Bildergalerie
 
ich hatte die klammerung vergessen.

PHP-Code:

wenn du sicher bistdass du mehrere eintraege hastist das oksonst musst du vorher ueberpruefen.
 echo 
"<table>";
$i 0;
while(
$row mysql_fetch_object($ergebnis))
{
  if ((
$i 1) == 0)
    echo 
'<tr>';
  echo 
"<td><a href=bild.php?ordner=$ordner&bild=$row->bild.><img src=$partyfotos/$ordner/$row->bild. width=100 height=80/></a>$clicks</td>"// Hier die Ausgabe der Einträge
  
$i++;
  if ((
$i 1) == 0)
    echo 
'</tr>';
}
if ((
$i 1) == 1)
  echo 
'<td>&nbsp;</td></tr>';
echo 
'<table>'


stimpy_123 19.06.2008 16:55:42

AW: Bildergalerie
 
super vielen dank. aber eins noch: was muss ich denn ändern, wenn ich jetzt 5 bilder nebeneinander und 4 untereinander (also 20 bilder) haben möchte?

danke im voraus

stimpy

Gweilo 19.06.2008 18:04:27

AW: Bildergalerie
 
dann ersetzt du "if (($i & 1) == 0)" durch "if (($i % $breite) == 0)" und "if (($i & 1) == 1)" durch "if (($i % $breite) == $breite-1)".
(nicht getestet... probiers halt aus und schau was nicht stimmt, alles kann ich auch nicht machen fuer dich)


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:58:54 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.