Einige Fragen zu einer Blätterfunktion

tittli

Erfahrenes Mitglied
Hallo
Habe aus einem Tutorial folgende Blätterfunktion herausgeschrieben. Nun habe ich einige Fragen dazu:

1. Als erste Zahl wird nicht 1, sondern die 0 angezeigt ("<<Zurück 0 1 2 3 Weiter>>"). Wie schaffe ich es, dass die erste Seite 1 heisst?

2. Alle Zahlen werden als Links dargestellt. Wie schaffe ich es, dass die Zahl der aktuellen Seite nicht als link sondern Fettgedruckt dargestellt wird?

3. Wenn die Datenbank unmengen an Daten enthält und diese Daten auf mehr als sagen wir 7 oder 8 Seiten dargestellt werden müssen, will ich, dass die Seiten so dargestellt werden:

"<<Zurück ...3 4 5 (aktuelle Seite 6) 7 8 9 Weiter>>"

oder so ähnlich. Wie schaffe ich das?

Danke schon mal für die Antworten. Hoffe, jemand wird sie mir beantworten, obwohl wir Blätterfunktionen schon oft hatten.

Hier mal das Script:
PHP:
$select = mysql_query("select count(*) from gaestebuch");
    $result = mysql_fetch_array($select);
    $reihen = $result['count(*)'];

    $zeigen = floor($reihen / 10);

    if(!$start) { $start = 0.1; }

    $result = mysql_query("select * from gaestebuch limit $start,10");
while ($row = mysql_fetch_array($result)) 
{
//Ausgabe der Beiträge
}
if($start > 0.1) {
            $zurueck = $start - 10;
            echo "<a href=\"$PHP_SELF?action=gb_form&start=$zurueck\"><< Zurück</a>";
    }
    for($i = 0; $i <= $zeigen; $i++) {
        echo " <a href=\"$PHP_SELF?action=gb_form&start=$n\">$i</a> ";
    $n += 10;
    }
    $weiter = $start + 10;
    if($reihen > $weiter) {
            echo "<a href=\"$PHP_SELF?action=gb_form&start=$weiter\">Weiter >></a>";
    }
?>


gruss
 
Zu 1 und 2:
PHP:
    for($i = 0; $i <= $zeigen; $i++) {
        if ($i==($start/10)) {
            echo " ".($i+1)." ";
        } else {
            echo " <a href=\"$PHP_SELF?action=gb_form&start=$n\">".($i+1)."</a> ";
        }
    $n += 10;
    }
Dann müsstes Du $start im Zweifel auf 0 setzen. Warum machst Du da 0.1?

zu 3:
Erstmal prüfst Du, ob $reihen/10 größer ist, als die maximale Anzahl Seiten, die Du verlinken willst.
Dann würde ich prüfen, ob die aktuelle Seite mehr als die Hälfte der maximal zu verlinkenden Seiten von 0 weg ist und ob die aktuelle Seite mehr als die Hälfte der maximal zu verlinkenden Seiten vom Ende weg ist.
Nach dem Ergebnis setzt Du den Startwert und den Endwert Deine Schleife und fügst ggf. Punkte ein.

Gruß hpvw
 
Zuletzt bearbeitet:
Danke schonmal für die Antworten. 1 und 2 sind schonmal gelöst, und was 3. betrifft, verstehe ich nicht genau was du meinst...aber das ist auch nicht sonderlich wichtig.
danke und gruss
 
Zurück