• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Seitennavigation fürs Gästebuch

Status
Für weitere Antworten geschlossen.

Maxi

Neues Mitglied
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.

Hier der Link zum GB: http://www.maxif.de/start.php?m=7

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...

Gruß,
gutschi
 
Werbung:
Soweit ich es verstandne habe willst du keinen Bomben-Code.
könnte ziemlich unübersichtlich werden mit der zeit.
Dann mach die Navigation in 'ne Datei und binde sie mit include ein.

Wieso kommst du damit zu MySQL? Eine Unternavigation macht man nicht mit MySQL :D

MfG, matibaski
 
Soweit ich es verstandne habe willst du keinen Bomben-Code.
Dann mach die Navigation in 'ne Datei und binde sie mit include ein.

Wieso kommst du damit zu MySQL? Eine Unternavigation macht man nicht mit MySQL :D


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.
 
Werbung:
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.
Also meinst du, dass der Benutzer nicht scollen muss, wenn es 30-40 Einträge hat?
Bei diesem Satz komm ich nicht draus. :D


MfG, matibaski
 
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:
<div style="width:??px: height:??px; border:0px; position:fixed; top:??px; right:??px;">
<?php include"menue.php"; ?>
</div>
Bei position fixed ist's immer an der gleichen Stelle.


MfG, matibaski
 
Werbung:
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...
 
Hallo,

über
Code:
SELECT foo, bar FROM foobar LIMIT start,anzahl
kannst du das MySQL-Ergebnis eingrenzen.

Damit kannst du dann z.B. per ?page=seite die Seite im Link angeben und dann über start=page*anzahl das Offset für LIMIT angeben.


N43
 
Hallo N43,

erst mal vielen dank, aber sooo fit bin ich irgendwie noch nicht...
Wohin muss denn dieser Code?
 
Werbung:
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 "<p>Bisher befinden sich <b>".mysql_num_rows($result)."</b> Einträge im Gästebuch.</p>\n";
    echo "<hr />\n";
    echo "<br />\n";

    while($row = mysql_fetch_assoc($result)) {
        echo "<div id=\"gb-eintrag\">\n";
        echo "    <div id=\"kopf\">\n";
        if(trim($row['Email']) == "") {
            echo "Eintrag von ".$row['Name']."\n";
        } else {
            echo "Eintrag von <a href=\"mailto:".$row['Email']."\">".$row['Name']."</a>\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 " (<a href=\"".$row['Homepage']."\">Homepage</a>)";
            } else {
                // Wenn nicht, so soll er das "http://" manuell hinzufügen
                echo " (<a href=\"http://".$row['Homepage']."\">Homepage</a>)";
            }
        }

        echo " (".$row['Datum'].")\n";
        echo "    </div><br />\n";
        echo "    <div id=\"Inhalt\">\n";
        echo "        ".nl2br($row['Inhalt'])."\n";
        echo "    </div>\n";
        echo "</div>\n";
        echo "<br />\n";
    }
?>
 
Du musst den SQL-Befehl anpassen
PHP:
    $sql = "SELECT
                Name,
                Datum,
                Email,
                Homepage,
                Inhalt
            FROM
                gaestebuch
            ORDER BY
                Datum DESC
            LIMIT start, anzahl";
Für start und anzahl die entsprechenden Werte einsetzen.


N43
 
Werbung:
Das ganze kannst du mit einer while()-Schleife machen.
Hier, um das aufzuklären:
php-q

MfG, matibaski
 
Du musst den SQL-Befehl anpassen
PHP:
    $sql = "SELECT
                Name,
                Datum,
                Email,
                Homepage,
                Inhalt
            FROM
                gaestebuch
            ORDER BY
                Datum DESC
            LIMIT start, anzahl";
Für start und anzahl die entsprechenden Werte einsetzen.


OK, danke schonmal, aber welche Werte muss ich dann dafür einsetzen?
Und wie mach ich dann die Links zu den anderen Seiten?
 
Werbung:
Hallo,

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.


N43
 
Werbung:
also an der URL haste jetzt nen Anbieter Gästebuch glaub ich o_O
gib nicht auf hier ist nen Tut:
http://webmasterpro.de/content_tip-7089.php (ohne $_GET)

Guck mal durch sind noch mehrere auf der Seite.

Hä?
Das Gästebuch ist selbst gemacht, nix von nem Anbieter!


@ N43

vielen Dank für deine Mühen, aber mir ist das irgendwie noch etwas zu hoch...
Ich hätte es vielleicht doch besser in die Jobbörse stellen sollen...
 
@ N43

vielen Dank für deine Mühen, aber mir ist das irgendwie noch etwas zu hoch...
Ich hätte es vielleicht doch besser in die Jobbörse stellen sollen...
Was verstehst du nicht?
Also ist ganz einfach. Du bestimmst eine Anzahl pro Seite der Beiträge. Sagen wir mal 15 Beiträge pro Seite.

Dann setzt du beim MySQL Befehl, der alles einladen soll ein Limit.
Der Code LIMIT start, anzahl";

Dann vergleich nochmal die zwei Beiträge von N43. Dann wird dir alles klar sein.


MfG, matibaski
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben