Hi zusammen, ich habe es mit viel Hilfe geschafft, mir selbst ein MySQL-Gästebuch zu machen, doch hat es leider keine Seitennavigation und könnte ziemlich unübersichtlich werden mit der zeit.
Die Links zu den einzelnen Seiten sollten dann am Ende wenn möglich im rechten Div für das Untermenü angezeigt werden, der zur neuesten Seite immer oben. (Seite 1 sollte immer die neueste sein).
Wer kann mir dabei helfen?
Wäre echt toll…
Sagt bescheid, wenn ihr den Code fürs GB braucht…
Ich kenn mich nicht so damit aus, drum komm ich in dieses Forum hier, wenns nicht passt kann der Thread ja ins richtige forum verschopben werden.
Also der Code für die Seitennavigation kann schon in die Datei mit rein ist kein problem. Das unübersichtlich war nicht auf den Code der Datei bezogen, ich habs so gemeint, wenn ich mal 30 oder 40 Einträge habe wirds vielleicht zu unübersichtlich, wenn die alle auf einer einzelnen Seite sind.
Tja da kannst du JavaScript einsetzen, dass dir das Menü immer auf Anblick dalässt, oder du kannst ein fixiertes Div setzen und das Menü dort includen.
Dann nur noch diesen Code:
[html]
<?php include"menue.php"; ?>
[/html]
Bei position fixed ist's immer an der gleichen Stelle.
Also, den Platz und den Div für das Untermenü habe ich schon, es soll da hin, wo jetzt steht „Diese Seite hat kein Untermenü“. Da soll halt später stehen:
Seite 1
Seite 2
Seite 3
etc.
Das Problem ist nur, wie ich es dort hinbekomme, so dass am Ende zum Beispiel immer die neuesten 10 Einträge auf Seite 1 stehen…
Also, ich poste jetzt doch mal den Code, dann könntest du mir sagen, wo genau der hin muss…
[PHP]
<?php
@mysql_connect("xxxxxx", "xxxxxxxxx", "xxxxxxxxxxx") OR die(mysql_error());
mysql_select_db("U390593AA") OR die(mysql_error());
$sql = "SELECT
Name,
Datum,
Email,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
echo "
Bisher befinden sich ".mysql_num_rows($result)." Einträge im Gästebuch.
\n";
if(trim($row['Email']) == "") {
echo "Eintrag von ".$row['Name']."\n";
} else {
echo "Eintrag von ".$row['Name']."\n";
}
if(trim($row['Homepage']) != "") {
if(strtolower(substr($row['Homepage'], 0, 7)) == "http://") {
// Wenn der Teilstring gleich "http://" ist, so
// soll er den Link ohne "http://" erzeugen, denn
// der Steht ja schon drin
echo " (Homepage)";
} else {
// Wenn nicht, so soll er das "http://" manuell hinzufügen
echo " (Homepage)";
}
}
echo " (".$row['Datum'].")\n";
echo "
Du musst den SQL-Befehl anpassen[php]
$sql = „SELECT
Name,
Datum,
Email,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC
LIMIT start, anzahl“;[/php]Für start und anzahl die entsprechenden Werte einsetzen.
Du hängst einfach an jeden Link zum Gästebuch ?page=seite. Für seite setzt du die Seite ein, zu der du bzw. der Besucher gelangen möchte.
Im Script vor der SQL-Abfrage start ausrechnen. Einfach mit seite*anzahl. anzahl ist die Anzahl der Einträge pro Seite. Die erste Seite ist Seite 0, sonst müsstest du start mit (seite-1)*anzahl berechnen.
Die Links generierst du ganz einfach in einer Schleife. Mit dem SQL Befehl „SELECT COUNT(id) AS counter FROM gaestebuch“ kannst du die Anzahl der Einträge bestimmen (Das Feld id muss existieren). In Ergebnis der Abfrage steht in counter die Anzahl der Einträge. Jetzt noch ausrechnen, wie viele Seiten das sind, dann in einer Schleife durchlaufen und dabei den Link ausgeben.