Jump to content

Pagination


Noskiw

Recommended Posts

<?php

$connect = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("guest") or die(mysql_error());

function bbcode($string)
{
    if ($string) {
        $bbcode_array = array('[b]', '[/b]', '[u]', '[/u]', '[i]', '[/i]', '[code]',
            '

', '', '');

        $bbcode_array_2 = array('<b>', '</b>', '<u>', '</u>', '<i>', '</i>',

            '<center><div style="width:90%;padding:3px;background-color:#000099;color:#FFFFFF;border:2px solid;">',

            '</div></center>', '<img src="', '">');

 

        $new_string_2 = str_ireplace($bbcode_array, $bbcode_array_2, $string);

 

        return $new_string_2;

    }

}

 

echo "<h1>Guestbook</h1><hr />";

 

$queryget = mysql_query("SELECT * FROM guest ORDER BY id DESC") or die(mysql_error

    ());

 

$querygetrownum = mysql_num_rows($queryget);

 

if ($querygetrownum == 0) {

    echo "No posts have been made yet! Be the first!";

}

 

$per_page = 5;

 

$start = $_GET['start'];

 

$record_count = mysql_num_rows(mysql_query("SELECT * FROM guest"));

 

$max_pages = $record_count / $per_page;

 

if (!$start) {

    $start = 0;

 

    $get = mysql_query("SELECT * FROM guest LIMIT $start, $per_page");

 

    while ($row2 = mysql_fetch_assoc($get)) {

        $name2 = $row2['name'];

        $email2 = $row2['email'];

        $message2 = $row2['message'];

        $date2 = $row2['date'];

        $time2 = $row2['time'];

        echo "<table><tr><td><b>Posted by: " . $name2 . "(" . $email2 . ") on " . $date2 .

            " at " . $time2 . "</b></td></tr><tr><td>" . nl2br(bbcode(strip_tags($message2))) .

            "</td></tr></table>";

        echo "<hr />";

    }

}

    //setup prev and next variables

    $prev = $start - $per_page;

    $next = $start + $per_page;

 

    //show prev button

    if (!($start <= 0)){

        echo "<a href='index.php?start=$prev'>Prev</a> ";

}else{

echo "« Prev";

}

    //show page numbers

 

    //set variable for first page

    $i = 1;

 

    for ($x = 0; $x < $record_count; $x = $x + $per_page) {

        if ($start != $x){

            echo " <a href='index.php?start=$x'>$i</a> ";

        }else{

            echo " <a href='index.php?start=$x'><b>$i</b></a> ";

        }

        $i++;

    }

 

    //show next button

    if (!($start >= $record_count - $per_page)){

        echo " <a href='index.php?start=$next'>Next</a>";

}else{

echo "Next »";

}

    if ($_POST['submit']) {

        $name = $_POST['name'];

        $email = $_POST['email'];

        $message = $_POST['message'];

        $date = date("Y-m-d");

        $time = date("H:i:s");

 

        if ($name && $email && $message) {

            $querypost = mysql_query("INSERT INTO guest VALUES('','" . $name . "','" . $email .

                "','" . $message . "','" . $date . "','" . $time . "')");

            echo "Please wait... <meta http-equiv='refresh' content='2'>";

        } else {

            echo "Please fill out all fields!";

        }

    }

 

    echo "<hr />";

 

    echo "

    <form action='index.php' method='POST'>

 

    <table width='100%'>

 

    <tr>

 

    <td width='7%' valign='top'>

    Your Name:

    </td>

 

    <td valign='top'>

    <input type='text' name='name' maxlength='25' />

    </td>

 

    </tr>

 

    <tr>

 

    <td valign='top'>

    Your Email:

    </td>

 

    <td>

    <input type='text' name='email' maxlength='25' />

    </td>

 

    </tr>

 

    <tr>

 

    <td valign='top'>

    Your Message:

    </td>

 

    <td>

    <textarea cols='20' rows='2' name='message' maxlength='250'></textarea>

    <p><input type='submit' name='submit' value='Post' />

    </td>

 

    </tr>

    </table>

 

    </form>";

 

?>

 

<style type="text/css">

body{font-family:Arial;font-size:14px;background-image: url('./images/bg.png');color:#FFFF00;}h1{font-family:Arial;}hr{color:#FFFF00; }a{color:#FFFFFF;text-decoration:none;}a:hover{color:#FFFFFF;text-decoration:underline;}

</style>[/code]

 

i have finished what i wanted to do, but unfortunately, when i click on next in the page part, it wont display the next set of rows. There is more than 5 when i looked in my mysql table, but when i go to the next page, there is nothing.... Please may someone help me.

 

;)

Link to comment
https://forums.phpfreaks.com/topic/176736-pagination/
Share on other sites

if i had to guess, it would be this line

$get = mysql_query("SELECT * FROM guest LIMIT $start, $per_page");

 

if your start is anything but 0, it won't work. say start is now 6. since per page is 5, it will be

LIMIT 6, 5

 

does that make any sense? You probably want to add 5 to per page, as well as start.

Link to comment
https://forums.phpfreaks.com/topic/176736-pagination/#findComment-931905
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.