kostenloser Webspace werbefrei: lima-city


ab 20 gästebuch einträge!!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    naja ich wollte es ihrgendwie hinbekommen das nach 20 gb eintr?ge man eine seite weiter muss um die alten eintr?ge anzuschauen.
    damit das gb nicht soviel wird^^

    w?re froh wenn mir jemand helfen w?rde
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. guck in den tuts nach da giebts me seiten tutroial hab leider aber grad den link net
  4. Wenn du die Daten aus einer MySQL Datenbank ausliest, gibt es einen Befehl, in dem man die Menge eingrenzt:

    LIMIT ZahlAnfang , ZahlEnde

    Die erste Seite h?tte:

    LIMIT 0 , 20

    2. Seite: LIMIT 21 , 40


    usw.

    Bei R?ckfragen gerne fragen!

    MfG lagerhaus
  5. Das kannst du mit LIMIT realisieren:

    Du schreibst einfach

    SELECT * FROM guestbook LIMIT 0,20

    Und dann zeigt er dir nur die ersten 20 an (von Eintrag 0 bis Eintrag 20)
    Eine Seite weiter mussst du halt die LIMIT Werte +20 nehmen.

    edit: Lagerhaus hat schnelle Finger :biggrin:



    Beitrag ge?ndert am 11.08.2005 18:42 von bladehunter
  6. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    kann ich das realiesieren das die seitenanzahl immer erweitert wird wenn ?ber 20 eintr?ge kommen ohne das alles selbst zu machen
  7. Ich w?rd das so machen:
    Die guestbook-seite nimmt eine get-Variable auf: guestbook.php?page=SEITENZAHL

    Je nach Seitenzahl (z.B. 4) wird 20 mit 4 malgenommen = 80. Das ist die zweite Zahl beim Limit-Befehl die erste macht man dann so:
    80 - 19

    Brauchst du ein Skript?

    MfG lagerhaus
  8. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    were nett wenn du mir das mal zeigen k?nntest an einem script
  9. Also dann wolln wir mal:

    <?

    $page = $HTTP_GET_VARS["page"]; //Die get-Variable muss "page" hei?en!!

    $limit2 = 20 * $page;

    $limit1 = $page - 19;

    //So, nun sind die Variablen definiert - jetzt m?ssen sie nur noch in die MySQL-Query

    //Der MySQL-Befehl sieht so aus:

    $result = mysql_query("SELECT spaltenname(n) FROM Tabellenname LIMIT $limit1 , $limit2 ");

    ?>

    Das ist die Abfrage an der Datenbank. Nun m?ssen die Daten nat?rlich noch ausgegeben werden.

    Bei R?ckfragen gerne fragen!

    MfG lagerhaus
  10. Autor dieses Themas

    blacksoul

    blacksoul hat kostenlosen Webspace.

    raffe ich nicht sorrykannste mir das mal an meinem g?stebuch zeigen:




    <div align="center"><u><font size="+1"><b>G?stebucheintr?ge</b></font></u></div><br><br>




    <body text="#ffffff" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <form action="gbuch.php" method="post">






    <?php





    include("config.php");//includen von der datenbank


    $linkID=mysql_connect("$dbhost","$mysqlname","$dbpass"); //(Server, Benutzer, Kennwort)
    if (!$linkID)
    die("Fehler bei mysql_connect #001".mysql_error());

    //Datenbank ausw?hlen
    $select=mysql_select_db("$dbname");
    if (!$select)
    die("Fehler bei mysql_connect #002".mysql_error());




    //SQL-Anfrage erstellen
    $sql="INSERT INTO gb_blacksoul (name,email,hpage,kommentar,datum,ip,mirc) VALUES ('$name','$email','$hpage','$kommentar','$datum','$ip','$mirc')";



    /* Auslesen aus der Datenbank */
    $sql="SELECT * FROM gb_blacksoul ORDER BY id DESC"; //Ausw?hlen der Datensicht
    $resID=mysql_query ($sql,$linkID);
    if (!$resID) echo "<h2>Select konnte nicht ausgef?hrt werden!</h2>".mysql_error();

    //Auslesen zeilenweise
    while ($zeile=mysql_fetch_array($resID,MYSQL_BOTH))
    {
    //echo "<hr><br>Erstellt von $zeile[name]<br>am $zeile[datum]<br><img src=\"email.gif\" alt=\"\" border=\"0\"><a href=\"mailto:$zeile[email]\">$zeile[email]</a><br><img src=\"home.gif\" alt=\"\" border=\"0\"><a href=\"$zeile[hpage]\">$zeile[hpage]</a><br> Kommentar: $zeile[kommentar]<br>";


    $name = ("$zeile[name]");
    $datum = ("$zeile[datum]");
    $email = ("$zeile[email]");
    $hpage = ("$zeile[hpage]");
    $kommentar = ("$zeile[kommentar]");
    $mirc = ("$zeile[mirc]");


    echo"<table border=\1\ width=\"500\">
    <tr>
    <td width=\"270\"> Erstellt von $name <br>am $datum<br><img src=\"gb/email.gif\" alt=\"\" border=\"0\"><a href=\"mailto:$email\">$email</a><br><img src=\"gb/home.gif\" alt=\"\" border=\"0\"><a href=\"$hpage\">$hpage</a><br><img src=\"gb/mirc.gif\" alt=\"\" border=\"0\">#<a href=\"irc://irc.quakenet.org/$mirc\">$mirc</a> </td>
    <td width=\"\">$kommentar<br></td> <br>
    </tr>
    </table>";
    }

    echo"<table border=\1\ width=\"500\">
    <tr>
    <td><div align=\"center\"><a href=\"http://blackfiredoor.com\">? by Blacksoul (L:B) BlackFireDoor</a></div> </td>
    </tr>
    </table>";

    //Datenbankverbindung beenden
    mysql_close($linkID);


    ?>

  11. raffe ich nicht sorrykannste mir das mal an meinem g?stebuch zeigen:




    <div align="center"><u><font size="+1"><b>G?stebucheintr?ge</b></font></u></div><br><br>




    <body text="#ffffff" bgcolor="#000000" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <form action="gbuch.php" method="post">






    <?php





    include("config.php");//includen von der datenbank


    $linkID=mysql_connect("$dbhost","$mysqlname","$dbpass"); //(Server, Benutzer, Kennwort)
    if (!$linkID)
    die("Fehler bei mysql_connect #001".mysql_error());

    //Datenbank ausw?hlen
    $select=mysql_select_db("$dbname");
    if (!$select)
    die("Fehler bei mysql_connect #002".mysql_error());




    //SQL-Anfrage erstellen
    $sql="INSERT INTO gb_blacksoul (name,email,hpage,kommentar,datum,ip,mirc) VALUES ('$name','$email','$hpage','$kommentar','$datum','$ip','$mirc')";



    /* Auslesen aus der Datenbank */


    $page = $HTTP_GET_VARS["page"]; //Die get-Variable muss "page" hei?en!!

    if(!$page) {
    $page = 1;
    }

    $limit2 = 20 * $page;

    $limit1 = $page - 19;


    $sql="SELECT * FROM gb_blacksoul LIMIT $limit1 , $limit2 ORDER BY id DESC"; //Ausw?hlen der Datensicht
    $resID=mysql_query ($sql,$linkID);
    if (!$resID) echo "<h2>Select konnte nicht ausgef?hrt werden!</h2>".mysql_error();

    //Auslesen zeilenweise
    while ($zeile=mysql_fetch_array($resID,MYSQL_BOTH))
    {
    //echo "<hr><br>Erstellt von $zeile[name]<br>am $zeile[datum]<br><img src=\"email.gif\" alt=\"\" border=\"0\"><a href=\"mailto:$zeile[email]\">$zeile[email]</a><br><img src=\"home.gif\" alt=\"\" border=\"0\"><a href=\"$zeile[hpage]\">$zeile[hpage]</a><br> Kommentar: $zeile[kommentar]<br>";


    $name = ("$zeile[name]");
    $datum = ("$zeile[datum]");
    $email = ("$zeile[email]");
    $hpage = ("$zeile[hpage]");
    $kommentar = ("$zeile[kommentar]");
    $mirc = ("$zeile[mirc]");


    echo"<table border=\1\ width=\"500\">
    <tr>
    <td width=\"270\"> Erstellt von $name <br>am $datum<br><img src=\"gb/email.gif\" alt=\"\" border=\"0\"><a href=\"mailto:$email\">$email</a><br><img src=\"gb/home.gif\" alt=\"\" border=\"0\"><a href=\"$hpage\">$hpage</a><br><img src=\"gb/mirc.gif\" alt=\"\" border=\"0\">#<a href=\"irc://irc.quakenet.org/$mirc\">$mirc</a> </td>
    <td width=\"\">$kommentar<br></td> <br>
    </tr>
    </table>";
    }

    echo"<table border=\1\ width=\"500\">
    <tr>
    <td><div align=\"center\"><a href=\"http://blackfiredoor.com\">? by Blacksoul (L:B) BlackFireDoor</a></div> </td>
    </tr>
    </table>";

    //Datenbankverbindung beenden
    mysql_close($linkID);


    ?>



    Also: Du musst dem G?stebuch-Skript eine Get-Variable geben, damit es funktioniert. Sonst baue ich es dir in dein Skript ein. Es m?sste so funktionieren. Ich schreibe noch ein "if" rein, dass du ohne Get-Variable zur ersten Seite kommst.

    EDIT: Hab's schon wieder vergessen:

    MfG lagerhaus

    Beitrag ge?ndert am 11.08.2005 20:37 von lagerhaus
  12. d******8


    <?

    $page = $HTTP_GET_VARS["page"]; //Die get-Variable muss "page" hei?en!!

    $limit2 = 20 * $page;

    $limit1 = $page - 19;

    //So, nun sind die Variablen definiert - jetzt m?ssen sie nur noch in die MySQL-Query

    //Der MySQL-Befehl sieht so aus:

    $result = mysql_query("SELECT spaltenname(n) FROM Tabellenname LIMIT $limit1 , $limit2 ");

    ?>

    Sry, aber ich meine da ist ein Fehler drin.
    M?sste es nicht so hei?en?
    Wenn du 19 von $page abziehst macht das einfach keinen Sinn.

    $page = $HTTP_GET_VARS["page"];
    //Die get-Variable muss "page" hei?en!!
    
    $limit2 = 20 * $page;
    
    $limit1 = $limit2 - 19;
    
    //So, nun sind die Variablen definiert - jetzt
    m?ssen sie nur noch in die MySQL-Query
    
    //Der MySQL-Befehl sieht so aus:
    
    $result = mysql_query
    ("SELECT spaltenname(n) FROM Tabellenname LIMIT $limit1 , $limit2 ");


    MfG Dagar


    Beitrag ge?ndert am 12.08.2005 09:01 von dagar888

  13. $page = $HTTP_GET_VARS["page"];
    //Die get-Variable muss "page" hei?en!!
    $limit2 = 20 * $page;
    $limit1 = $limit2 - 19;
    //So, nun sind die Variablen definiert - jetzt
    m?ssen sie nur noch in die MySQL-Query
    //Der MySQL-Befehl sieht so aus:
    $result = mysql_query
    ("SELECT spaltenname(n) FROM Tabellenname LIMIT $limit1 , $limit2 ");

    MfG Dagar


    jo jungs, aber bin ich nun ganz daneben? das hier als $limit2 genommene, bleibt doch immer gleich, oder? denn mit jeden seitenwechsel, also immer ne seite h?her, w?rde sich auch die anzahl der angezeigtne datens?tze erh?hen. ich bin voll der meinung, das $limit2 immer eine konstante zahl sein muss, jenachdem vieviele datens?tze man anzeigen will.
    also in diesem beispiel w?rden die angezeigten datens. so aussehen.
    seite1 : 20
    seite2 : 40
    seite3 : 60
    seite4 : 80
    usw.....


    so, das nu noch was von mir kommt, hier mal so, wie ich es bei mir selbst habe:

    if ($page==""||$page==1){$lim=0;} 
    //beide zeilen dr?ber:
    //falls keine page angegeben ist, 
    //oder page = 1. damit keine 
    //fehlermeldungen kommen.
    else{$lim = ($page-1)*40;}
    //wenn ne seite gegeben ist...
    echo "<center>";
    
    $ergebnis=mysql_query("select * from DEINETABELLE
     LIMIT $lim, 20");
    //hier werden nun [b][u]immer 20[/u][/b] datens?tze ausgegeben


    ich hoffe ich bin nun nicht ganz daneben, und erz?hle hier richtige sachen...
    mfg


    Beitrag ge?ndert am 12.08.2005 12:00 von ranglisten
  14. d******8

    ranglisten schrieb:
    ich hoffe ich bin nun nicht ganz daneben, und erz?hle hier richtige sachen...
    mfg

    Ich bef?rchte, du liegst daneben.

    Beispiel
    ... LIMIT 0,20");

    Das gibt den Berecih welche Ergebnisse ausgegeben werden und zwar wie folgt:
    ]0;20]

    Und hier kommen wir direkt zu dem n?chsten problem:
    $limit2 = 20 * $page;
    $limit1 = $limit2 - 19;

    Hier muss nicht das stehen sonder das:
    $limit2 = 20 * $page;
    $limit1 = $limit2 - 20;

    Begr?ndung/Beispiel:
    Wir gehen davon aus, dass wir die zweite Seite aufrufen. D.h. wir wollen die Eintr?ge 21-40 angezeigt haben.
    Wenn wir uns f?r den ersten Code(den mit -19) den Wertebereich angucken, sieht der wie folgt aus:
    ]21;40]
    Das w?rde aber bedeuten, dass nur die Eintr?ge 22 bis 40 angezeigt w?rden. Der 21. Eintrag w?rde einfach ?bersprungen.
    Deshalb bin ich der Meinung, dass man den zweiten Code benutzen muss.
    Da w?re dann der Wertebereich ]20;40].

    MfG Dagor

  15. ranglisten schrieb:
    ich hoffe ich bin nun nicht ganz daneben, und erz?hle hier richtige sachen...
    mfg

    Ich bef?rchte, du liegst daneben.

    Beispiel
    ... LIMIT 0,20");

    Das gibt den Berecih welche Ergebnisse ausgegeben werden und zwar wie folgt:
    ]0;20]


    Da stimme ich dir zu (hatte ich ja auch so gedacht :biggrin:



    Und hier kommen wir direkt zu dem n?chsten problem:
    $limit2 = 20 * $page;
    $limit1 = $limit2 - 19;

    Hier muss nicht das stehen sonder das:
    $limit2 = 20 * $page;
    $limit1 = $limit2 - 20;

    Begr?ndung/Beispiel:
    Wir gehen davon aus, dass wir die zweite Seite aufrufen. D.h. wir wollen die Eintr?ge 21-40 angezeigt haben.
    Wenn wir uns f?r den ersten Code(den mit -19) den Wertebereich angucken, sieht der wie folgt aus:
    ]21;40]
    Das w?rde aber bedeuten, dass nur die Eintr?ge 22 bis 40 angezeigt w?rden. Der 21. Eintrag w?rde einfach ?bersprungen.
    Deshalb bin ich der Meinung, dass man den zweiten Code benutzen muss.
    Da w?re dann der Wertebereich ]20;40].

    MfG Dagor


    Oh, ja! Da hast du recht! Statt der -19 muss es -20 hei?en! Sorry :frown:

    MfG lagerhaus

  16. ranglisten schrieb:
    ich hoffe ich bin nun nicht ganz daneben, und erz?hle hier richtige sachen...
    mfg

    Ich bef?rchte, du liegst daneben.
    MfG Dagor


    jo, dann schau dir mal das ganze in mysql an.
    ich hab dort eine tabelle mit 305 zeilen.
    ich gehe nun in dieser tabelle auf anzeigen.
    dort hast du nun die option:
    Zeige [Textfeld] Datens?tze, beginnend ab [textfeld]

    gebe ich nun so ein, das ich 30 datens?tze sehen will, sieht das so aus.
    Zeige 30 Datens?tze, beginnend ab 0

    der dazu von php-myadmin erzeugte sql befehl sieht dazu so aus.
    SELECT * FROM `cds` LIMIT 0 , [u]30[/u]

    /////////////////////////////
    will ich nun den bereich von pos. 180 sehen, und auch 30 eintr?ge sieht das so aus.
    Zeige 30 Datens?tze, beginnend ab 180

    der dazu erzeugte code:
    SELECT * FROM `cds` LIMIT 180 , [u]30[/u]


    wie du siehst, ist die dreisig (30) bei beiden die selbe, und die steht daf?r, wieviel eintr?ge gezeigt werden sollen, die zahl davor sagt, ab welcher position.....

    ich bin der meinung, das ich (auch?!) recht habe, aber zwei unterschiedlicher sachen k?nnen ja nich den selben effekt haben.

    mfg
  17. d******8

    Okay, ich habe es gerade ausprobiert.
    Du hast Recht.
    Sry, mein Fehler. Hab wohl beim meinem ersten Versuch einen Fehler gemacht. Ich fange hier nach sogar an dem zu zweifeln, was ich vorher geschrieben hab. K?nnte sein, dass das ganz gro?er quatsch ist.
    Ich werde das nochmal ausprobieren. Es kann sein, dass ich beim ausprobieren der anderen Variante einen zu kleinen Zahlenberecih gew?hlt hab und so eine falsche Ges?tzm??igkeit abgeleitet hab.
    Wenn ich das rausgefunden hab melde ich mich.
    Also wie gesagt, sry.

    MfG Dagor
  18. Sorry!

    ranglisten hat Recht! Die erste Zahl lautet, ab wo die Datens?tze ausgelesen werden, der 2. Wert betr?gt die Anzahl.

    Also wenn der 1. Wert 5 ist und der 2. 10

    werden der 6., 7., 8., 9. 10. 11. 12. 13. 14. 15.

    ausgelesen.


    Skript?nderung:

    $limit2 = 20;

    $zahl = $page - 1;

    $limit1 = $zahl * 20;

    P.S.: @dagar 688 & ranglisten Lieber nochmal checken??

  19. b?h :biggrin:... wusst ich doch.. das ich recht hab... ;-)

    @ dagar, is doch nix problem. irren ist menschlich..., passiert jedem mal...

    jo, und so wie es lager nun zitiert hat, sollte es dann wohl stimmen, oder so, wie ich es in meinen vor-vor post beschrieben hab...

    na dann....

    viel spass noch..

    @lager. was meinst du damit?
    P.S.: @dagar 688 & ranglisten Lieber nochmal checken??


    mfg

    Beitrag ge?ndert am 12.08.2005 21:52 von ranglisten



  20. @lager. was meinst du damit?
    P.S.: @dagar 688 & ranglisten Lieber nochmal checken??






    ?berpr?fen, dass es wirklich richtig ist.(Mein neues Skript) Ich hatte ja im ersten Skript den LIMIT-Fehler. Nicht dass da jetzt noch ein Fehler drin ist...
    MfG lagerhaus

    Beitrag ge?ndert am 12.08.2005 22:21 von lagerhaus
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!