4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)
  • Q:
    Bijdrager
    DarkRaverNL

    Gezocht: Pagination (met SQL db)

    Beste mensen,

    Ik ben opzoek naar een goede Pagination syteem dat samenwerkt met items uit een SQL DB, het liefst zo simpel en kort mogelijk, hoeft niet per see het aantal paginas te laten zien, als het maar automatichs < en > neerzet, weet iemand hier iets goeds voor, of kan iemand zo iets maken ?

    Ik gebruik nu dit:

    [code:1:a5b08b6356]
    <?php

    @mysql_connect(localhost, darkrave_drcms, MijnDBpass) or die("ERROR–CAN’T CONNECT TO SERVER");
    @mysql_select_db(darkrave_drcms) or die("ERROR–CAN’T CONNECT TO DB");

    $limit = 5;
    $query_count = "SELECT count(*) FROM links";
    $result_count = mysql_query($query_count);
    $totalrows = mysql_num_rows($result_count);

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

    $limitvalue = $page * $limit – ($limit);
    $query = "SELECT * FROM links LIMIT $limitvalue, $limit";
    $result = mysql_query($query) or die("Error: " . mysql_error());

    if(mysql_num_rows($result) == 0){
    echo("Nothing to Display!");
    }

    $bgcolor = "#E0E0E0"; // light gray

    echo("<table>");

    while($row = mysql_fetch_array($result)){
    if ($bgcolor == "#E0E0E0"){
    $bgcolor = "#FFFFFF";
    }else{
    $bgcolor = "#E0E0E0";
    }

    echo("<tr bgcolor=".$bgcolor."><td>");
    echo($row["title"]);
    echo("</td><td>");
    echo($row["content"]);
    echo("</td></tr>");
    }

    echo("</table>");

    if($page != 1){
    $pageprev = $page–;

    echo("<a href="$PHP_SELF&page=$pageprev">PREV".$limit."</a> ");
    }else{
    echo("PREV".$limit." ");
    }

    $numofpages = $totalrows / $limit;

    for($i = 1; $i <= $numofpages; $i++){
    if($i == $page){
    echo($i." ");
    }else{
    echo("<a href="$PHP_SELF?page=$i">$i</a> ");
    }
    }

    if(($totalrows % $limit) != 0){
    if($i == $page){
    echo($i." ");
    }else{
    echo("<a href="$PHP_SELF?page=$i">$i</a> ");
    }
    }

    if(($totalrows – ($limit * $page)) > 0){
    $pagenext = $page++;

    echo("<a href="$PHP_SELF?page=$pagenext">NEXT".$limit."</a>");
    }else{
    echo("NEXT".$limit);
    }

    mysql_free_result($result);

    ?>[/code:1:a5b08b6356]

    Maar die wil niet werken, hij staat hier: http://darkraver.net/home/drcms/pagination.php

    als ik http://darkraver.net/home/drcms/pagination.php?page=2 doe dan laat hij wel een PREV5 zien, maar de URL is verkeerd, weet iemand hoe ik deze Pagination kan fixen, ik heb hem hiervandaan: http://www.phpfreaks.com/tutorials/43/1.php

    Bijdrager
    vikking

    Zet voor de inhoud van de pagina:
    [code:1:f7d944294c]// If current page number, use it
    // if not, set one!
    $max_results = 5; /*Number of entries*/
    if(!isset($_GET[’page’])){
    $page = 1;
    } else {
    $page = $_GET[’page’];
    }
    // Figure out the limit for the query based
    // on the current page number.
    $from = (($page * $max_results) – $max_results);[/code:1:f7d944294c]
    (om dan entries uit te lezen:
    [code:1:f7d944294c]SELECT id, title, content, date FROM news ORDER BY id DESC LIMIT $from, $max_results[/code:1:f7d944294c])
    Na de inhoud(voor de links op te bouwen):
    [code:1:f7d944294c]// Figure out the total number of results in DB:
    $total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM news"),0);
    // Figure out the total number of pages. Always round up using ceil()
    $total_pages = ceil($total_results / $max_results);
    echo "<center>";
    // Build Previous Link
    if($page > 1){
    $prev = ($page – 1);
    echo "<a href="".$_SERVER[’PHP_SELF’]."?page=$prev">Previous</a>";
    if($page < $total_pages){
    echo " | ";
    }
    }
    // Build Next Link
    if($page < $total_pages){
    $next = ($page + 1);
    echo "<a href="".$_SERVER[’PHP_SELF’]."?page=$next">Next</a>";
    }[/code:1:f7d944294c]

    Voila:)
    (Je moet zelf nog wel wat SQL-queries aanpassen naar jou instellingen)

    Bijdrager
    DarkRaverNL

    Dankje, gaa het uitproberen:)

    Bijdrager
    DarkRaverNL

    Hartelijk dank, hij werkt perfect nu, lekker simpel en kort, alles wat ik wilde, ik moest een klein beetje aanpassen: [code:1:d84c9fd706]".$_SERVER[’PHP_SELF’]."[/code:1:d84c9fd706] werkt op een of andere manier niet bij mij, warschijnlijk omdat ik me paginas include ofzo, hij gaat met PHP_SELF naar index.php ik hebt aangepast in [code:1:d84c9fd706]?p=$title[/code:1:d84c9fd706] aangezien mijn $title hetzelfde is als de content die geinclude word, en die ook mijn site titles genereerd:)

    Hier staatie werkend : http://darkraver.net/?p=News

    Heb hem even op Limit 1 gezet om te testen:)

    nogmals mijn dank !!

4 berichten aan het bekijken - 1 tot 4 (van in totaal 4)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.