abakuz
Mitglied
Hallo Zusammen,
ich hab mal wieder ein Problem mit PHPLIB.
Ich versuche seit 2 Tagen verschachtelte Blöcke darzustellen, doch leider ohne Erfolg.
Mein Problem:
Ich generiere die Buchstaben A-Z durch eine For-Schleife.
Jedem Buchstaben wird ein Link aus der DB mit dem jeweiligen Anfangsbuchstaben zugeordnet.
In der Version unten, zeigt er mir nur die Buchstaben an, wo auch ein
Wert in der DB vorhanden ist, das ist auch soweit richtig.
Nun zeigt er mir aber die Buchstaben mehrmals mit unterschiedlichen Werten an. z.B.: wenn in der DB 3 Einträge vorhanden sind die mit A beginnen, wird mir
A
Abakus
A
Alkohol
A
Autohändler
B
.
.
.
angezeigt. Ich möchte aber gerne das er mir die Werte alle unter einem A anzeigt, sonst ergibt es ja keinen Sinn.
Ich habe auch schon eine "dummy", ohne Template, getestet...funktioniert wunderbar. hier der Code vom "dummy".
Wie gesagt, das funktioniert auch wunderbar.
Und hier die Version mit PHPLIB-Temlate (nix wunderbar):
Hinweis:
$themen beinhaltet:
THEMEN ist der Platzhalter in meinem Haupttemplate wohin der gesamte
Inhalt am Ende geparst werden soll.
Ich habe schon viel herumprobiert, habe auch schon probiert mit "blockinnen" den DBLINK zu erst komplett auszulesen, aber genau da liegt
mein Problem, ich bekomme es nicht hin, das er mir verschachtelte Templates richtig anzeigt.
Wäre schön wenn mir jemand helfen könnte/würde.
Vielen Dank im vorraus.
abakuz
ich hab mal wieder ein Problem mit PHPLIB.
Ich versuche seit 2 Tagen verschachtelte Blöcke darzustellen, doch leider ohne Erfolg.
Mein Problem:
Ich generiere die Buchstaben A-Z durch eine For-Schleife.
Jedem Buchstaben wird ein Link aus der DB mit dem jeweiligen Anfangsbuchstaben zugeordnet.
In der Version unten, zeigt er mir nur die Buchstaben an, wo auch ein
Wert in der DB vorhanden ist, das ist auch soweit richtig.
Nun zeigt er mir aber die Buchstaben mehrmals mit unterschiedlichen Werten an. z.B.: wenn in der DB 3 Einträge vorhanden sind die mit A beginnen, wird mir
A
Abakus
A
Alkohol
A
Autohändler
B
.
.
.
angezeigt. Ich möchte aber gerne das er mir die Werte alle unter einem A anzeigt, sonst ergibt es ja keinen Sinn.
Ich habe auch schon eine "dummy", ohne Template, getestet...funktioniert wunderbar. hier der Code vom "dummy".
PHP:
//A-Z
for($i=65; $i<=90 ;$i++){ //ASCII-Code --> Die Großbuchstaben (Code 65 bis 90), die Kleinbuchstaben (Code 97 bis 122)
$letter=chr($i);
$letter_small=strtolower($letter);
echo $letter."<br><br>";
$sql="SELECT c_title, clicks, id FROM content_title WHERE LEFT(c_title,1)='$letter' OR LEFT(c_title,1)='$letter_small' ORDER BY c_title";
$result=mysql_query($sql)or die( mysql_error());
while ($erg = mysql_fetch_assoc($result)){
$ergTit = "<a href='db_beispiel.php?id={$erg['id'] }'>{$erg['c_title']}</a> <br>Hits:[{$erg['clicks']}]<br>";
$anzahl = (mysql_num_rows($result));
if ($anzahl){
echo $ergTit."<br>";
}
}//while
}//for
Wie gesagt, das funktioniert auch wunderbar.
Und hier die Version mit PHPLIB-Temlate (nix wunderbar):
PHP:
if (isset ($themen)){
$tpl->set_file("themen", "$themen");
$tpl->set_block("themen", "blockaussen", "blockthemen");
for($i=65; $i<=90 ;$i++){ //ASCII-Code --> Die Großbuchstaben (Code 65 bis 90), die Kleinbuchstaben (Code 97 bis 122)
$letter=chr($i);
$letter_small=strtolower($letter);
$tpl->set_var(array ("AZ" => $letter));
$sql="SELECT c_title, clicks, id FROM content_title WHERE LEFT(c_title,1)='$letter' OR LEFT(c_title,1)='$letter_small' ORDER BY c_title";
$result=mysql_query($sql)or die( mysql_error());
while ($erg = mysql_fetch_assoc($result)){
$ergTit = "<a href='db_beispiel.php?id={$erg['id'] }'>{$erg['c_title']}</a> <br>Hits:[{$erg['clicks']}]<br>";
$tpl->set_var(array ("DBLINK" => $ergTit));
$tpl->parse("blockthemen", "blockaussen", true);
$tpl->parse("THEMEN", "blockthemen");
}//while
}//for
}//if
Hinweis:
$themen beinhaltet:
PHP:
<!-- BEGIN blockaussen -->
<div id="az">
<div class="az">{AZ}</div><div class="title">{DBLINK}</div>
</div>
<!-- END blockaussen -->
THEMEN ist der Platzhalter in meinem Haupttemplate wohin der gesamte
Inhalt am Ende geparst werden soll.
Ich habe schon viel herumprobiert, habe auch schon probiert mit "blockinnen" den DBLINK zu erst komplett auszulesen, aber genau da liegt
mein Problem, ich bekomme es nicht hin, das er mir verschachtelte Templates richtig anzeigt.
Wäre schön wenn mir jemand helfen könnte/würde.
Vielen Dank im vorraus.
abakuz