ThorstenSt
Grünschnabel
halo, heute ist erst mein zweiter tag, wo ich mit templates arbeite, nur ich bekomme es einfach nicht hin, das mir vier tabellen neben einander und dann in die nächste zeile geht um dann wieder vier neben einander zu machen:
mein denkansatzt war so:
//anzeigen_show.php
//show_oben.tpl
//show_mitte.tpl
//show_unten.tpl
so, soviel zum code.
nur wenn ich das so mache, das er nur bei i==1 ein <tr> setzt und bei i==4 ein </tr>, macht er überall eine <Tr></tr> hin, so das die ganzen anzeigen untereinander stehen und nicht nebeneinander stehen.
Es kann wahrscheinlich auch mal wieder nur ein denkfehler oder logik fehler von mir sein. Ich weis einach nicht mehr weiter. Wer mir helfen kann, dem bin ich sehr dankbar.
Gruß
Thorsten
mein denkansatzt war so:
//anzeigen_show.php
PHP:
include('language.php'); //sprachpaket
include('index.html'); //hauptseite
include('kat_menue.php'); //menue
$show_tpl=new FastTemplate(".");
$show_tpl->define(array("ueberschrift_template" => "templates/ueberschrift.tpl",
"showoben_template" => "templates/showoben.tpl",
"showmitte_template" => "templates/showmitte.tpl",
"showunten_template" => "templates/showunten.tpl",
));
//rausholen des kategorie namens aus der db
function katname($id)
{
global $kategorie;
$sql_name="SELECT
kat_name
FROM
tab_kat
WHERE
id='".$id."'
";
$a_sql_name=mysql_query($sql_name);
$ausname=mysql_fetch_object($a_sql_name);
$kategorie=$ausname->kat_name;
}
katname($katid);
//ende rausholen des kategorie namens aus der db
$show_tpl->assign("{UEBERSCHRIFT}",$kategorie);
$show_tpl->parse("ausgabe", "ueberschrift_template");
$show_tpl->FastPrint("ausgabe");
$sql_anzahl="SELECT
COUNT(id)
FROM
tab_anzeigen
WHERE
kat_id='".$katid."'
AND
freischalten='1'
";
$aussql_anzahl=mysql_query($sql_anzahl);
if(!($insgesamt=mysql_result($aussql_anzahl,0))==0)
{
/* Für's Blättern*/
$proseite=12;
$start=(isset($start)) ? abs((int)$start):0;
$insgesamt=mysql_result($aussql_anzahl,0);
$start=($start >= $insgesamt) ? $insgesamt - $proseite : $start;
/*ende fürs blättern*/
if (mysql_errno()) die ("MySQL-Fehler: " . mysql_error());
$sql_anz="SELECT
id,name,strasse,plz,ort,tel,email,laufzeit,endet,titel,text,zeitstempel
FROM
tab_anzeigen
WHERE
kat_id='".$katid."
AND
freischalten='1'
ORDER BY
zeitstempel
DESC
LIMIT
".$start.",".$proseite."
";
$aussql_anz=mysql_query($sql_anz);
while($aussql=mysql_fetch_array($aussql_anz,MYSQL_ASSOC))
{
$i=$i+1;
$text1=nl2br($aussql['text']);
$text=substr($text1,0,100);
$datum = date("d.m.Y",$aussql['zeitstempel']);
$endet = date("d.m.Y",$aussql['endet']);
if(file_exists("anzeigen_images/".$aussql['id'].".jpg"))
{
$image="anzeigen_images/".$aussql['id'].".jpg";
$width="46px";
$height="61px";
}
else
{
$image="anzeigen_images/nopic.gif";
$width="1px";
$height="1px";
}
if($i=="1")
{
$show_tpl->assign("{SHOW_TR}","<tr>");
}
if($i=="4")
{
$show_tpl->assign("{SHOW_/TR}","</tr>");
$i=0;
}
$show_tpl->assign("{SHOW_START}",$datum);
$show_tpl->assign("{SHOW_TITEL}",$aussql['titel']);
$show_tpl->assign("{SHOW_IMAGE}",$image);
$show_tpl->assign("{SHOW_WIDTH}",$width);
$show_tpl->assign("{SHOW_HEIGHT}",$height);
$show_tpl->assign("{SHOW_TEXT}",$text);
$show_tpl->assign("{SHOW_ANID}",$aussql['id']);
$show_tpl->assign("{SHOW_ENDET}",$endet);
$show_tpl->parse("{SHOW_ANZEIGEN}", ".showmitte_template");
$show_tpl->parse("ausgabe2", "showmitte_template");
}
if($i>1)
{
$tr2="</tr>";
//$show_tpl->assign("{SHOW_/TR}",$tr2);
//$show_tpl->parse("ausgabe6", "showmitte_template");
}
$show_tpl->parse("ausgabe2", "showoben_template");
$show_tpl->FastPrint("ausgabe2");
//Blättern
echo"<tr><td colspan=\"4\"><center>";
if($start > 0)
{
$newStart = ($start - $proseite < 0) ? 0 : ($start-$proseite);
echo "<a class=\"weiter\" href=\"",$_SERVER['PHP_SELF'],"?start=",$newStart,"&katid=",$katid,"\"><font size=\"3pt\">«zurück</font></a>";
}
if($start + $proseite < $insgesamt)
{
$newStart = $start + $proseite;
echo " <a class=\"weiter\" href=\"",$_SERVER['PHP_SELF'],"?start=",$newStart,"&katid=",$katid,"\"><font size=\"3pt\">weiter»</font></a>";
}
$insgesamt2=$insgesamt/$proseite;
if(is_double($insgesamt2))
{
$insgesamtint=(int)$insgesamt2+1;
}
else
$insgesamtint=$insgesamt2;
if($insgesamtint==1)
{
$seite="Seite";
}
else
$seite="Seiten";
//echo "<br><br>Insgesamt ",$insgesamtint,"</b> ",$seite,"";
echo"";
}
else
{
echo"<br><center><b>In dieser Kategorie wurden noch keine Anzeigen aufgegeben!</b></center>";
}
//show_oben.tpl
HTML:
<table border="0" width="" align="left">
{SHOW_ANZEIGEN}
//show_mitte.tpl
HTML:
{SHOW_TR}
<td class="anzeigenrahmen" valign="top">
<table class="tabanzeigen" cellspacing="0" cellpadding="1" width=\"140\" height=\"160\">
<tr>
<td class="anzeigendat" colspan="2">Start:{SHOW_START}</td>
</tr>
<tr>
<td colspan="2" class="anzeigentitel"><b>{SHOW_TITEL}</b></td>
</tr>
<tr>
<td colspan="2" class="anzeigentext" valign="top"><img src="{SHOW_IMAGE}" align=\"left\" width="{SHOW_WIDTH}" height="{SHOW_HEIGHT}">{SHOW_TEXT} <br><a class="weiter" href="anzeigen_mehr.php?anid={SHOW_ANID}" target="_new">...mehr</a></td>
</tr>
<tr>
<td class="anzeigendat" colspan="2">Endet:{SHOW_ENDET}</td>
</tr>
</table>
</td>
{SHOW_/TR}
//show_unten.tpl
HTML:
</center></td></tr></table>
so, soviel zum code.
nur wenn ich das so mache, das er nur bei i==1 ein <tr> setzt und bei i==4 ein </tr>, macht er überall eine <Tr></tr> hin, so das die ganzen anzeigen untereinander stehen und nicht nebeneinander stehen.
Es kann wahrscheinlich auch mal wieder nur ein denkfehler oder logik fehler von mir sein. Ich weis einach nicht mehr weiter. Wer mir helfen kann, dem bin ich sehr dankbar.
Gruß
Thorsten