tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
185
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    livestrong livestrong ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    5
    Hallo Leute!

    Ich hoffe mir kann hier jemand helfen, komm leider selbst nicht weiter.

    Ich hab ein Gästebuch erstellt das funktioniert, jetzt wollte ich es laut dem Tutorial: http://www.tutorials.de/php-tutorial...verteilen.html

    auf mehrer Seiten verteilen. Nun habe ich leider folgendes Problem:

    Ich habe 16 Beiträge die er auch erkennt, er legt mir die ersten 10 Beiträge wie gewünscht auf die erste Seite.

    Das Problem:
    Ich kann nicht auf die 2. Seite wechseln. Die Weiter-Schaltbuttons funktionieren nicht und wenn ich bei der URL "...zeigen.php?page=2" eingebe, komme ich immer auf die Seite 1 bzw. 0.

    Hier noch der Code:
    PHP-Code:
    <?php
    include('datenbank.php');
    $proseite=10;

    $sql "SELECT * FROM gbuch";
    $result mysql_query($sql);
    $number mysql_num_rows($result);
    $seiten floor($number/$proseite);
    $start $page $proseite;
    $sql_1 "SELECT * FROM gbuch LIMIT $start,$proseite";
    $result_1 mysql_query($sql_1);
    $ende $start $proseite;


    if (
    $ende>$number) { $ende $number; }
    echo 
    "Zur Zeit sind $number Einträge im Gästebuch <br /> \n";
    echo 
    "Seite $page - Einträge von $start bis $ende <br /> \n";


    while(
    $db3 mysql_fetch_array($result_1)){
    echo 
    '
    <table border="1" cellspacing="1" id="nachricht" width="387">
    <tr>
    <td width="269">'
    .$db3[username]. '</td>
    <td width="105">20.06.2006</td></tr>
    <tr>
    <td colspan="2">'
    .$db3[homepage]. '</td>
    </tr>
    <tr>
    <td colspan="2">'
    .$db3[nachricht]. '<td>
    </tr>
    </table><p>
    '
    ;
    }
    if (
    $page>0) {
        
    $i=$page-1;
        echo 
    "<A HREF=\"zeigen.php?page=$i\">&lt;previous</A>";
    }
    for(
    $i=0$i<=$seiten$i++) {
        if (
    $i==$page) {
            echo 
    $i."&nbsp;";
        }
        else {
            echo 
    "<A HREF=\"zeigen.php?page=$i\">$i</A>&nbsp;";
        }
    }
    if (
    $page<$seiten) {
        
    $i=$page+1;
        echo 
    "<A HREF=\"zeigen.php?page=$i\">next&gt;</A>";
    }
    ?>
    Ich hoffe mir kann jemand helfen!

    Danke im Voraus.
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Ab PHP 5 kannst du nicht mehr direkt mit $page auf aif den Parameter der URL zugreifen.

    PHP-Code:
    //$page aus der URL auslesen. Wenn diese nicht vorhanden ist, den defualt-Wert 1 verwenden
    $page=in_array('page') ? $_GET['page'] : 1
    Zudem solltest du alle Keys mit denen du auf den Array zugreiffst in ' oder " setzen
    PHP-Code:
    echo 'gekürzt <td>'.$db3['username']. '</td>; 
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    livestrong livestrong ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    5
    Hallo!
    Erstmals danke für die schnelle Antwort.
    Ich hab die Zeile eingefügt, nun kommt aber leider folgender Fehler:

    Warning: in_array() expects at least 2 parameters, 1 given in Z:\xampp\htdocs\zeigen.php on line 16
    (Line 16: ist dein Code)

    Darunter wird aber das Gästebuch richtig angezeigt, nur die Navigation funktioniert nicht.
    Zum Glück geht schon folgendes: Wenn ich bei deinem Code die Zahl 1 ändere, hüpft er schon auf die richtige Seite.
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mein Fehler. Habe 2 Dinge kombiniert während dem schreiben und dann die hälfte vergessen.
    $_GET muss man natürlich ebenfalls der Funktion in_array() mitgeben
    PHP-Code:
    $page=in_array('page'$_GET) ? $_GET['page'] : 1
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    livestrong livestrong ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    5
    Oke super danke, der Fehler ist jetzt behoben, aber die Navigation funktioniert leider noch nicht.

    $page=in_array('page', $_GET) ? $_GET['page'] : 1;
    Also wenn ich bei deinem Code 0 eingebe, zeigt er mir die ersten 10 Beiträge an wie gewünscht, wenn ich 1 eingebe, zeigt er mir die nächsten 6 an, aber ich kann in die URL reinschreiben, was ich will, es verändert sich nichts.
    Bei der Navigation ändert er die URL, aber die Einträge bleiben immer die gleichen.

    Ich hoffe du weißt was gemeint ist.
     

  6. #6
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    prüf doch mal mit var_dump($_GET) was da alles aus der url ausgelesen wird
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  7. #7
    livestrong livestrong ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    5
    Hallo!

    Also ich habs so eingegeben:
    $ausgabe = var_dump($_GET);
    echo $ausgabe;

    URL:
    http://localhost/zeigen.php?page=1

    Jetzt zeigts mir das an:

    array(1) { ["page"]=> string(1) "1" }

    Danke für die Antworten!
     

  8. #8
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    mööööp - ich sollte zuerst endgültig gesunden bevor ich hier poste. Meine Scriptzeile hat ja immer noch 2 Fehler drin.

    1) Default sollte nicht 1 sondern 0 sein
    2) mit in_array() sucht man in den Werten des Arrays. Wir sollten aber in den Keys nach 'page' suchen

    PHP-Code:
    $page=array_key_exists('page'$_GET) ? $_GET['page'] : 0
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  9. #9
    livestrong livestrong ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    5
    Jawooohll! Jetzt funktionierts danke.
    Jetzt hab ich nur noch 1 Frage und zwar, wo muss ich jetzt was ändern, damit die Seiten bei 1 anfangen. Ich hab mich schon bei anderen Einträgen eingelesen und hab auch was ausprobiert, aber das funktioniert nicht ganz richtig.
     

Ähnliche Themen

  1. Seitenfunktion einbauen
    Von ahh im Forum PHP
    Antworten: 5
    Letzter Beitrag: 15.09.04, 18:21
  2. Seitenfunktion
    Von max im Forum PHP
    Antworten: 6
    Letzter Beitrag: 02.07.04, 07:59
  3. Seitenfunktion
    Von pose im Forum PHP
    Antworten: 3
    Letzter Beitrag: 17.03.04, 18:10
  4. Problem bei Seitenfunktion
    Von Needa im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.02.04, 12:11