Hi,
Ich hoffe jemand kennt dieses Template ...
Also, baue mir gerade eine kleine Galerie.
Ich habe mich entschlossen immer 3 (kleine) Bilder in einer Reihe zu listen und dann in einer neuen fortzufahren.
Dies klappt jedoch nicht!
http://mitglied.lycos.de/aegklasse/a...p?g_event_id=1
Die erste Reihe ist vollkommen korrekt.
In der Zweiten werden dann die Bilder der zweiten Reihe an die Erste angehängt (also zwei Einträge in jeder Spalte [siehe Link]).
Wenn ich nun weitere Bilder habe, geht das ähnlich weiter.
-> Jede Reihe ist vorherige Reihe + Neue.
Was habe ich dort verkehrt gemacht?
Hier der Teil meines Skripts mit den relevanten Templates:
PHP-Code:
<?
#...
$tpl->define(array(
main => "main.tpl",
galerie_inhalt => "galerie_inhalt.tpl",
galerie_small_pics => "galerie_small_pics.tpl",
galerie_small_pic => "galerie_small_pic.tpl"
));
#...
$res = $mysql->query("SELECT g_id, g_photograph, g_event, g_hits FROM galerie AS A
JOIN galerie_photograph AS B
JOIN galerie_event AS C
WHERE A.g_photograph_id=B.g_photograph_id
AND A.g_event_id=C.g_event_id
AND A.g_event_id=".$_GET[g_event_id]."
ORDER BY g_id DESC
LIMIT ".$_GET[offset].",".$_GET[limit]);
$event = mysql_result($res, 0, "g_event");
mysql_data_seek($res, 0);
$tpl->assign(EVENT, $event);
###############################
$rest_in_zeilen = mysql_num_rows($res);
$rest_in_zeilen %= 3;
###############################
$tpl->define_dynamic("galerie_list", "galerie_small_pics");
$tpl->assign(
array(
G_SMALLPIC_1 => NULL, #Für den Fall, dass auf einer Seite
G_SMALLPIC_2 => NULL, #nur 1 oder 2 Bilder sind, sodass
G_SMALLPIC_3 => NULL #kein {G_SMALLPIC_3 ...} erscheint
)
);
$i = 1;
while($obj = mysql_fetch_object($res, MYSQL_ASSOC))
{
$res2 = $mysql->query("SELECT count(*) FROM galerie_comment WHERE g_id=".$obj->g_id);
$anz_comments = mysql_result($res2, 0, 0);
$tpl->assign(
array(
G_ID => $obj->g_id,
HITS => $obj->g_hits,
HITS_SG_PL => $obj->g_hits == 1 ? "Klick" : "Klicks",
ANZ_COMMENTS => $anz_comments,
ANZ_COMMENTS_SG_PL => $anz_comments == 1 ? "Kommentar" : "Kommentare",
G_PHOTOGRAPH => $obj->g_photograph
)
);
$tpl->parse("G_SMALLPIC_".$i, ".galerie_small_pic");
if ($i == 3)
{
$tpl->parse(GALERIE_LISTS, ".galerie_list");
$tpl->assign(
array(
G_SMALLPIC_1 => NULL,
G_SMALLPIC_2 => NULL,
G_SMALLPIC_3 => NULL
)
);
$i = 0;
}
$i++;
}
if($rest_in_zeilen != 0) $tpl->parse(GALERIE_LISTS, ".galerie_list");
$tpl->parse(INHALT, ".galerie_small_pics"); # {INHALT} befindet sich in galerie_inhalt
#...
?>
galerie_small_pics.tpl:
Code:
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<th width="100%" colspan="4">{EVENT}<br> </th>
</tr>
<!-- BEGIN DYNAMIC BLOCK: galerie_list -->
<tr>
<td width="33%" valign="bottom" align="center">
{G_SMALLPIC_1}
</td>
<td width="33%" valign="bottom" align="center">
{G_SMALLPIC_2}
</td>
<td width="34%" valign="bottom" align="center">
{G_SMALLPIC_3}
</td>
</tr>
<!-- END DYNAMIC BLOCK: galerie_list -->
</table>
galerie_small_pic.tpl:
Code:
<a href="?g_id={G_ID}"><img src="galerie/smallpic.php?g_id={G_ID}" border="0"></a>
<p>
{HITS} {HITS_SG_PL}<br>
{ANZ_COMMENTS} {ANZ_COMMENTS_SG_PL}<br>
(von {G_PHOTOGRAPH})
</p>
Ich habe heute schon 5 Stunden geknobelt, aber ich bin einfach ratlos.
Ich hoffe es ist nicht zu speziell.
Vielen Danke
Para
EDIT
Ich glaube die Ergebnisrelation meines ersten Querys wäre nicht schlecht ;-)
(Die Methode $mysql->query() ist eigentlich mit mysql_query() identisch)