Moin!
Hi,
Ich will meine Pagination-Code mit Kategorien erweitern. Wie und wo muss ich den Kategorie-Code einzufügen, dass es auch zusammen mit der Pagination funktioniert?
Code für KategorieTags:
if $_GET['tag'] == $elemente[4] {
...
}
Flatfile:
text0|text1|text2|text3|KategorieTag
Ausgabe der Artikel mit Pagination:
$perpage = 5;
$data=array();
$_GET['kategorie']=trim($_GET['kategorie']);
$lines = file($_SERVER['DOCUMENT_ROOT']."/posts/".date("Y").".txt");
foreach ($lines as $line) {
$line=trim($line);
if ( $line and '#' != $line{0} ) {
$data=explode("|", $lines[$i], 5);
}
}
foreach ($data as $tupel) {
if ($tupel[5])==$_GET['kategorie']) {
echo '<div class="post-preview">',
'<a href="post.html?q=',
urlencode($tupel[1]),
'&title=', urlencode($tupel[2]),
'&sub=', urlencode($tupel[3]),
'&date=', urlencode($elemente[0]),
'"><h2 class="post-title">,
'.urldecode($elemente[2]),
'</h2></a>',
'<h3 class="post-subtitle">', urldecode($elemente[3]), '</h3>',
'<p class="post-meta">Posted by <a href="#">Me</a> on '.urldecode($elemente[0]), '</p>',
'</div>',
'<hr />';
}
}
Offenkundig sind Deine PHP-Kenntnissse noch gering.
Zunächst wird die Datei in einen Array ($lines) gelesen.
Dann werden die Zeilen getrimmt und darauf untersucht, ob es ein Kommentar ist.
Falls nicht werden die einzelenen Elemente des Daten-Tupels mit Explode geholt. und der Tupel das Array data geschrieben.
Was bei Deinem Code danach kam war schlicht grausig, das war BASIC auf dem Stand von 1990, aber kein PHP. Einen solchen Array (Du hattest auch einen) kann man mit foreach durchgehen.
Alles, was Konfiguration ist, gehört an den Anfang des Skriptes und nicht in die Mitte!
Auch diese vielen, seriellen echos sind Unsinn, eines genügt.
Dann ist es Unsinn, die Strings zusammenzusetzen, denn echo kann eine Liste kommagetrennter Strings ausgeben.
Den Rest repariere selbst.
Jörg Reinholz