• Ich möchte gerne dass 20 DB Einträge pro Seite angezeigt werden und am Schluss soll es mir ausgeben wieviele Seiten es sind
    z.B.: Pages 1 2 3
    Soweit bin ich bis jetzt:
    [php:1:afcc3ef22f]
    $sql = "SELECT user, time, date, header, text FROM notes WHERE user='".$user."' ORDER BY header";
    $ergebnis = mysql_query($sql, $verbindung);
    while($row = mysql_fetch_array($ergebnis)) {
    if(isset($pos)==0) // position vorgegben oder nicht
    $pos=0; // anfangspos für anzeige
    $count=20; // anzahl der max gezeigten einträge
    $size = count($row);

    if($pos >= $size):
    $pos = 0;
    endif;

    <font color="#153760">Pages: </font><?php
    for($j=0; $j<$size; $j++):
    if(!($j % $count)):?>
    <a class='title' href="notes.php?action=view_list&pos=<?php echo $j; ?>"><font color="#153760">
    <?php echo (($j/$count)+1); ?></font></a>
    <?php
    endif;
    endfor;
    ?>
    ?>[/php:1:afcc3ef22f]

  • hm versuchs mal so:
    [php:1:4f57f834ce]
    <?PHP

    # Anzahl Einträge pro Seite.
    $items_pro_site = '20';

    $site =((int)$_GET['site']>0)?(int)$_GET['site']:1;

    # Bestimmen, wieviele Seiten es überhaupt gibt.
    list($tmp)=mysql_fetch_row(mysql_query('SELECT COUNT(`id_deiner_einträge`) FROM notes'));
    $count = ceil(($tmp / $items_pro_site));
    # Anzeigen der Links für die einzelnen Seiten
    $links = '';
    for($i=1; $i<$count; $i++)
    {
    $links .= '[url=''.$_SERVER['PHP_SELF'].'?site=news&site='.$i.'"]'.$i.'[/url] ';
    }
    $links .= '[url=''.$_SERVER['PHP_SELF'].'?site=news&site='.$i.'"]'.$i.'[/url]';

    $sql = "SELECT user, time, date, header, text FROM notes WHERE user='".$user."' ORDER BY header Limit ".(($site-1)*$items_pro_site).",".$items_pro_site."";
    $ergebnis = mysql_query($sql, $verbindung);

    echo('<font color="#153760">&amp;nbsp;&amp;nbsp;Pages: </font>');
    echo($links);

    ?>
    [/php:1:4f57f834ce]

    aber keine garantie für die richtigkeit :D
    paar dinge sind vlt unnötig da ich sie aus meinem gbscript rauskopiert hab wo ich die aufzählfunktion noch bisschen erweitert hab.

  • ja kenn mich nicht so gut aus damit
    Kannst du mir dass genauer erklären.
    Möchte 20 Einträge pro Seite haben und
    unten soll es mir die Seiten anzahl schreiben
    Pages: 1 2 3

  • ja id selbstverständlich

    aber was hat die sql tabelle damit zu tun?

    müsst doch ganz einfach mit den befehlen gehen
    [php:1:38877841d7]
    $pos=0; // anfangspos f&amp;uuml;r anzeige
    $count=20; // anzahl der max gezeigten eintr&amp;auml;ge
    $size = count($row);

    if($pos >= $size):
    $pos = 0;
    endif;


    [/php:1:38877841d7]

  • hm versteh nich was du willst^^
    nja ich erklär dir jetzt mal mein code:
    [php:1:8f695f0c21]
    <?PHP

    # Anzahl Einträge pro Seite.
    $items_pro_site = '20';

    [/php:1:8f695f0c21]

    Da kannst du manuell einstellen wieviele einträge es sein sollen

    [php:1:8f695f0c21]
    $site =((int)$_GET['site']>0)?(int)$_GET['site']:1;
    [/php:1:8f695f0c21]

    Du hohlst site und kuckst ob sie grösser als 0 ist. wenn ja dann soll site site bleiben wenn nein (das is am anfang so weil ja dein gbook zb. book.php heisst und du nicht book.php?site=1 hast sondern nur book.php)

    [php:1:8f695f0c21]

    # Bestimmen, wieviele Seiten es überhaupt gibt.
    list($tmp)=mysql_fetch_row(mysql_query('SELECT COUNT(`id_deiner_einträge`) FROM notes'));
    $count = ceil(($tmp / $items_pro_site));
    [/php:1:8f695f0c21]
    Da zählts zuerst wieviele einträge es hat und speicherts unter $tmp
    musst halt id_deiner_einträge ersetzen durch den namen die du der id gegeben hast.

    Dann speicherts unter $count die anzahl seiten die es geben wird ab indem es die anzahl beiträge / Anzahl beiträge pro seite teilt. Das rundets dann auf.

    [php:1:8f695f0c21]
    # Anzeigen der Links für die einzelnen Seiten
    $links = '';
    [/php:1:8f695f0c21]

    Erstmal n array machen wo nix drin ist. hier als $links.

    [php:1:8f695f0c21]
    for($i=1; $i<$count; $i++)
    {
    $links .= '[url=''.$_SERVER['PHP_SELF'].'?site=news&amp;site='.$i.'"]'.$i.'[/url] ';
    }
    [/php:1:8f695f0c21]
    Solange $i kleiner ist als die seiten solls nen link in das array $links hinzutun. Der link am anfang ist dann zum beispiel 1 und verlinkt wird auf book.php?site=news&site=1 also die erste seite und dann hinten dran noch n abstand.

    [php:1:8f695f0c21]
    $links .= '[url=''.$_SERVER['PHP_SELF'].'?site=news&amp;site='.$i.'"]'.$i.'[/url]';
    [/php:1:8f695f0c21]
    Dann fügt es noch die letzte seite manuell an, falls du später noch kommata einbauen willst geht das einfacher und es hat hier am ende auch kein leerzeichen mehr nach der letzten seite
    [php:1:8f695f0c21]
    $sql = "SELECT user, time, date, header, text FROM notes WHERE user='".$user."' ORDER BY header Limit ".(($site-1)*$items_pro_site).",".$items_pro_site."";

    [/php:1:8f695f0c21]
    Hier eigentlich das wichtige. Bei der Auslese aus notes setzt du das Limit fest mit dem befehl limit.
    [php:1:8f695f0c21]
    $ergebnis = mysql_query($sql, $verbindung);
    ...usw...
    [/php:1:8f695f0c21]
    Hier kannst du das ganze dann auslesen aus deiner tabelle und hinschreiben wie du willst.

    [php:1:8f695f0c21]
    echo('<font color="#153760">Pages: </font>');
    echo($links);

    ?>
    [/php:1:8f695f0c21]

    Hier gibts du dann die links die die du vorhin ins array getan hast wieder aus.

    Hoffe du hasts jetzt verstanden :?

    Also bei mir funktionierts siehe:
    http://www.sleemes-world.com/gbook.php und hab das sonst noch paarmal angewannt...