Seitennavigation mit PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Seitennavigation mit PHP

    Hi!
    Es ist mal wieder so weit, ich habe ein Problem!
    Ich lese aus eine Datenbank News aus und stelle die auf einer Seite da, soweit so gut. Die News werden ausgelesen, den Code dazu kann ich ja nochma posten, und dann wird eine Tabelle für die Darstellung in einer Schleife generiert.
    Wenn nun aber ganz viele News in der Datenbank sind, dann will ich ja auch nunmal die News auf mehrere Seiten aufteilen. Wie kann ich das realisiren? Ich mus dann ja in der mySQL Abfrage angeben, von wo bis wo das ausgelsen werden soll, oder ich nehem ne andere Abfrage oder so... und ich muss in der url die Seite übergeben (index2.php?page=2), bzw. wenn das net übergeben wird, dann die aktuellsten News anzeigen.
    Zur Zeit sitze ich noch den Script zum Newsauslesen und darstellen, aber das hab ich gleich fertig... :D
    mfg
    Acetous
  • Dazu musst du die select syntax studieren
    <a href='http://dev.mysql.com/doc/mysql/de/SELECT.html' target='_blank'>http://dev.mysql.com/doc/mysql/de/SELECT.html</a>

    SQL-Abfrage

    1. SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
    2.       [HIGH_PRIORITY]
    3.       [DISTINCT | DISTINCTROW | ALL]
    4.    select_ausdruck,...
    5.    [INTO {OUTFILE | DUMPFILE} 'datei' export_optionen]
    6.    [FROM tabellenreferenz
    7.        [WHERE where_definition]
    8.        [GROUP BY {positive_ganzzahl | spalten_name | formel} [ASC | DESC], ...]
    9.        [HAVING where_definition]
    10.        [ORDER BY {positive_ganzzahl | spalten_name | formel} [ASC | DESC] ,...]
    11.        [LIMIT [offset,] zeilen]
    12.        [PROCEDURE prozedur_name]
    13.        [FOR UPDATE | LOCK IN SHARE MODE]]
    Alles anzeigen

    für dich relevant ist [LIMIT [offset,] zeilen]
    dein query wird also so aussehen

    Quellcode

    1. mysql_query("SELECT * FROM `Tabelle`" LIMIT $_GET['site'],5);

    darüber hängst du folgendes damit du auch eine ausgabe bekommt, wenn die variable nicht gesetzt ist

    Quellcode

    1. if(!isset($_GET['site']))
    2. {
    3. $_GET['site'] = 1;;
    4. } else {
    5. $_GET['site'] = $_GET['site']*5;
    6. }

    deine links gestaltest du folgendermaßen:

    Quellcode

    1. $result = mysql_query("SELECT * FROM `Tabelle`");
    2. $num = mysql_num_rows($result);
    3. for($i=0; $i<$num; $i=$i+5)
    4. {
    5. echo '<a href="index.php?site='.$i.'">'.$i.'</a>';
    6. }

    ist nur ein denkansatz.. sind vielleicht ein paar fehler drinne
  • jop
    ich musste auch einige andere kleinigkeiten ändern, aber es funktioniert jetzt :D
    thx für die idee ^^
    wers sehen will: www.flatus-mortis.de (gleich auf der newsseite)
    :D
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
  • Quellcode

    1. $_GET['site'] = $_GET['site']*5+1;
    ist falsch, denn dann zeigt er den neuesten beitrag nicht an! Es muss doch

    Quellcode

    1. $_GET['site'] = $_GET['site']*5;
    heissen!
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.