tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1081
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Hallo allerseits!

    Ich weiss, dass dieses Thema schon mehrmals aufgegriffen wurde, aber ich habe ein
    spezifisches Problem. Übrigens: Der Code ist nicht von mir und zwar habe ich mir das Tutorial vom Dunsti hier zu Hilfe genommen.

    Also, zu meinem Problem: Ich habe jetzt 13 Testeinträge und ich habe die Beiträge pro Seite auf 5 begrenzt. D.h. jetzt sollte es 3 Seiten geben mit (5,5 und 3 Einträgen).
    Die Links werden jetzt auch erzeugt, aber die 13 Einträge werden auf allen 3 Links angezeigt, d.h. die Beiträge werden nicht getrennt.

    Ich bin noch ein ziemlicher PHP-Anfänger (deshalb auch das Tuturial vom Dunsti), und ich vermute, dass ich einfach irgendwo ein Überlegungsfehler gemacht habe bzw. etwas zu viel gelöscht habe.

    Ich bin dankbar um jede Hilfe.

    Gruss, Matthias


    PHP-Code:
    $db mysql_connect ($host,$id,$pw);
    mysql_select_db ($database);
    $sql "SELECT * FROM gbook";  
    $result mysql_query($sql,$db);
    $number mysql_num_rows($result);
    $proseite "5";
    $seiten floor($number/$proseite);
    $sql"SELECT * FROM table LIMIT $start,$proseite";
    $result mysql_query($sql,$db);
     
    echo 
    "<table width=520px align=center>Zur Zeit sind $number Einträge im Gästebuch</table> <BR> \n";

    if (
    $page>0) {
        
    $i=$page-1;
        echo 
    "<table width=520px align=center><A HREF=\"guestbook_code3.php?page=$i\">previous</A> | ";
    }
    for(
    $i=0$i<=$seiten$i++) {
        if (
    $i==$page) {
            echo 
    $i."&nbsp;";
        }
        else {
            echo 
    "<A HREF=\"guestbook_code3.php?page=$i\">$i</A>&nbsp;";
        }
    }
    if (
    $page<$seiten) {
        
    $i=$page+1;
        echo 
    " | <A HREF=\"guestbook_code3.php?page=$i\">next</A></table>";

    PS: Momentan ist das Testbeispiel hier auffindbar: Gästebuch-Test
     

  2. #2
    Registriert seit
    May 2002
    Ort
    50.59° Nord 11.21° Ost
    Beiträge
    1.837
    Die Variable $start wird nirgends deklariert.
     
    »

  3. #3
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Ok, das habe ich jetzt geändert, funktioniert aber immer noch nicht. Und zwar werden
    die Einträge einfach nicht getrennt (momentan auf 5 Einträge pro Seite gesetzt).


    Das ist mein aktueller Code:
    (Dateiname: guestbook_code3.php)
    PHP-Code:
    <?php
    $proseite
    =5;

    $db mysql_connect ($host,$id,$pw);
    mysql_select_db ($database);
    $sql "SELECT * FROM gbook";
    $result mysql_query($sql,$db);
    $number mysql_num_rows($result);
    $seiten=floor($number/$proseite);
    $start=$page $proseite;
    $sql="SELECT * FROM gbook LIMIT $start,$proseite";
    $result mysql_query($sql,$db);
    $ende $start $proseite;

    if (
    $ende>$number) { $ende $number; }

    echo 
    "<table width=\"520px\" align=\"center\">Zur Zeit sind $number Einträge im Gästebuch</table> <BR> \n";
    echo 
    "<table width=\"520px\" align=\"center\">Seite $page - Einträge von $start bis $ende</table> <BR> \n";

    if (
    $page>0) {
        
    $i=$page-1;
        echo 
    "<div align=\"center\"><tr><td><A HREF=\"guestbook_code3.php?page=$i\"><<</A> ";
    }
    for(
    $i=0$i<=$seiten$i++) {
        if (
    $i==$page) {
            echo 
    $i."&nbsp;";
        }
        else {
            echo 
    "<A HREF=\"guestbook_code3.php?page=$i\">$i</A>&nbsp;";
        }
    }
    if (
    $page<$seiten) {
        
    $i=$page+1;
        echo 
    " <A HREF=\"guestbook_code3.php?page=$i\">>></A></div>";
    }
    ?>
    Ich weiss wirklich nicht, wo das Problem liegt....
     

  4. #4
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Kann mir keiner sagen, wie ich die Datensätze aufsplitten kann, damit ich diese auf mehreren Seiten anzeigen kann?
     

  5. #5
    Registriert seit
    Aug 2003
    Ort
    Black Mesa
    Beiträge
    174
    Das Einzige, was mir aufgefallen ist, ist:

    if ($page>0) { würde ich zu if (isset($page) && $page>=0) {
    und
    $seiten=floor($number/$proseite); zu $seiten=ceil($number/$proseite);
    ändern.
    floor = abrunden: 13 / 5 = 2,6 also 2
    ceil = aufrunden 13 / 5 = 2,6 also 3

    ausserdem ist ein "nicht die feine Art" eine Variable in Anführungszeichen auszugeben. z.B.
    Du schreibst:
    PHP-Code:
     $sql="SELECT * FROM gbook LIMIT $start,$proseite"
    ich würde schreiben:
    PHP-Code:
     $sql="SELECT * FROM gbook LIMIT ".$start.",".$proseite
    Geändert von Xaicon (27.12.04 um 12:36 Uhr)
     
    press any key to continue...

  6. #6
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Ich muss aber aufrunden (ceil). Nehmen wir an, ich habe 18 Einträge und verteile diese auf 5er-Seiten (5 Einträge pro Seite), dann werden die Einträge 16-18 noch angezeigt, wenn ich jedoch abrunde, werden diese gelöscht. Oder liege ich falsch?
     

  7. #7
    Registriert seit
    Aug 2003
    Ort
    Black Mesa
    Beiträge
    174
    deswegen schreibe ich ja von "floor" zu "ceil" ändern.
     
    press any key to continue...

  8. #8
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    ups, sorry! man kann auch zu schnell lesen... sorry!
     

  9. #9
    Registriert seit
    Aug 2003
    Ort
    Black Mesa
    Beiträge
    174
    hm, ich hatte jetzt wohl auch einen kleinen Denkfehler drin, aber hier noch mal überarbeitet...
    PHP-Code:
    <?php 
    $proseite
    =5
    if(!isset(
    $page)){$page=1;}

    $db mysql_connect ($host,$id,$pw); 
    mysql_select_db ($database); 
    $sql "SELECT * FROM gbook"
    $result mysql_query($sql,$db); 
    $number mysql_num_rows($result); 
    $seiten ceil($number/$proseite); 
    $start=$page $proseite $proseite
    $sql="SELECT * FROM gbook LIMIT ".$start.",".$proseite
    $result mysql_query($sql,$db); 
    $ende $start $proseite

    if (
    $ende>$number) { $ende $number; } 

    echo 
    "<div width=\"520px\" align=\"center\">Zur Zeit sind ".$number." Einträge im Gästebuch</div> <BR> \n"
    echo 
    "<div width=\"520px\" align=\"center\">Seite ".$page." - Einträge von ".$start." bis ".$ende."</div> <BR> \n <div align=\"center\">"

    if (
    $page>1) { 
        
    $i=$page-1
        echo 
    "<A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\"><<</A> "

    for(
    $i=1$i<=$seiten$i++) { 
        if (
    $i==$page) { 
            echo 
    $i."&nbsp;"
        } 
        else { 
            echo 
    "<A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</A>&nbsp;"
        } 
    }
    if (
    $page<$seiten) { 
        
    $i=$page+1
        echo 
    " <A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\">>></A>"
    }
    echo 
    "</div>";
    ?>
     
    press any key to continue...

  10. #10
    Avatar von matthiasschnueriger
    matthiasschnueriger matthiasschnueriger ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    182
    Danke für deine Mithilfe, aber jetzt werden gar keine Daten mehr angezeigt.

    Hier ist die Testversion.

    Im Attachement habe ich noch den ganzen Code geuploadet (also das ganze Guestbook)
    Angehängte Dateien Angehängte Dateien
     

  11. #11
    Registriert seit
    Aug 2003
    Ort
    Black Mesa
    Beiträge
    174
    Der von mir gepostete Code ist auch nur die Seitennavigation, mit erstellung des Querystrings für die Ausgebe. Mehr hattest Du oben auch nicht gepostet.
    Was Du noch brauchst sähe in etwa so aus:
    PHP-Code:
    while ($output mysql_fech_array($result)) {
      echo 
    $output["name"]."<br>\n".$output["datum"]."<br>\n".$output["nachrigcht"]."<br>\n";
      ...

    Wie Deine Tabellenfelder für Name ect. heissen weiss ich ja nicht.
    Dein Attachment kann ich leider nicht öffen, da ich mich hier gerade auf Arbeit langweile, und die Jungs von der Sicherheit .txt-Dateien anscheinend nicht durch den WatchGuard lassen... (paranoiede Spinner )
     
    press any key to continue...

Ähnliche Themen

  1. re: gästebuch / mehrere seiten
    Von masterspot im Forum PHP
    Antworten: 17
    Letzter Beitrag: 28.04.05, 15:42
  2. Seiten im Gästebuch
    Von Bakan im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.01.05, 17:50
  3. Gästebuch mit mehreren Seiten...
    Von stonk im Forum PHP
    Antworten: 12
    Letzter Beitrag: 03.01.05, 13:20
  4. Gästebuch auf mehreren Seiten mit PHP
    Von iLu_is_a_loser im Forum PHP
    Antworten: 4
    Letzter Beitrag: 02.01.05, 12:54