Re: [PHP-DB] Paging help needed :-(

2001-07-12 Thread Dobromir Velev

Hi,

First you'll have to modify your query to show only ten rows.

$sql = SELECT id, email, name, subject, url, image2, comments, dat
FROM users
ORDER BY id DESC LIMIT $start,10;

The $start variable shows the number of the first row to show

The links for the previous and next page will be something like this

?
if ($start=10)echo a href='your_page.php3?.($start-10).'Previous/a;
echo a href='your_page.php3?.($start+10).'Next/a;
?

You can play around with this code to allow the users to go directly to a
specific page, not to show the Next link when there are no more records to
show, allow users to define how many records to show in a page and etc.

Dobromir Velev

-Original Message-
From: [EMAIL PROTECTED] [EMAIL PROTECTED]
To: [EMAIL PROTECTED] [EMAIL PROTECTED]
Date: Thursday, July 12, 2001 7:53 AM
Subject: [PHP-DB] Paging help needed :-(


Hi there Everyone,

I currently have a dedicated Apache server with PHP 4.06, MySQL etc ..
installed and running fine.  Below is alittle peice of code that I would
love an answer to:

?php

$connection = mysql_connect(Localhost,username!!!,password!!!) or
die(Couldn't make a connection.);

$db = mysql_select_db(planet, $connection)
or die(Couldn't select database.);

$sql = SELECT id, email, name, subject, url, image2, comments, dat
FROM users
ORDER BY id DESC;

$sql_result = mysql_query($sql,$connection)
or die(Couldn't execute query.);

   ?

?

while ($row = mysql_fetch_array($sql_result)) {
$email = $row[email];
$name = $row[name];
$subject = $row[subject];
$url = $row[url];
$image2 = $row[image2];
$comments = $row[comments];
$dat = $row[dat];
$comments=nl2br($comments);
include(censorguestbook.php);

$ip = getenv (REMOTE_ADDR);

?

then all the HTML and display bits (Example at www.planetoxygene.com in the
guestbook).

?

}

mysql_free_result($sql_result);
mysql_close($connection);

?

Now my question is, how do I do paging in PHP?  I need to display 10 entries
per page, and be able to go back and forth with them.  I'm relatively new to
PHP so I would be really grateful for any advice.

Thanks everyone, I appreciate it.

Chris Payne
www.planetoxygene.com



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DB] Paging help needed :-(

2001-07-12 Thread Roger Ramirez

Here is some code that I like to use.  I mix real code and psuedo code cause
I'm more used to just using the db class from PHP Lib.

First get a count of how many records there are.

$sql = SELECT count(*) as c FROM users;
Then read that count into variable $count.

Declare a variable which will contain the number of records per page, this
is a really good idea cause if that number changes later you just have to
change one variable instead of hunting down every instance of that number.

$records_per_page = 10;

Next figure out how many pages you'll have.

$total_pages = ceil( $count / $records_per_page );

This just sets up a page variable which will be past in a next and prev
link.  The first link to this page may not actually have $page so this just
sets it up.
if ( !isset($page) ) { $page = 1; }

I like to setup a little navigation that has First | Prev | Next | Last on
the page with each word being a link or not depending on what page you are
on.  To do this I use the following piece of code.

# this will set up the First | Prev |  part of our navigation.
if ( $page == 1 ) {
# if we are on the first page then First and Prev
# should not be links.
$naviagation = font color=\#66\First/font | font
color=\#66\Prev/font | ;
} else {
# we are not on page one so First and Prev can
# be links
$prev_page = $page - 1;
$navigation = a href=\your_page.php?page=1\First/a | a
href=\your_page.php?page=$prevpage\Prev/a | ;
}

# this part will set up the rest of our navigation Next | Last
if ( $page == $total_pages ) {
# we are on the last page so Next and Last
# should not be links
$navigation .= font color=\#66\Next/font | font
color=#66Last/font;
} else {
# we are not on the last page so Next and Last
# can be links
$next_page = $page + 1;
$navigation .= a href=\your_page.php?page=$next_page\Next/a | a
href=\your_page.php?page=$total_pages\Last/a;
}

With your navigation built you can just echo that out any where you want it
to appear.

The final thing to do is your actual query, but first we have to figure out
what the offset will be.

$offset = ( $page - 1 ) * $total_pages;
$sql = SELECT id, email, name, subject, url, image2, comments, dat
FROM users
ORDER BY id DESC
LIMIT $offset,$records_per_page;

And that's it?  Simple eh?

You may also want to put out something like: echo $page of $total_pages;

Enjoy.

- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, July 12, 2001 3:49 AM
Subject: [PHP-DB] Paging help needed :-(


Hi there Everyone,

I currently have a dedicated Apache server with PHP 4.06, MySQL etc ..
installed and running fine.  Below is alittle peice of code that I would
love an answer to:

?php

$connection = mysql_connect(Localhost,username!!!,password!!!) or
die(Couldn't make a connection.);

$db = mysql_select_db(planet, $connection)
 or die(Couldn't select database.);

$sql = SELECT id, email, name, subject, url, image2, comments, dat
FROM users
ORDER BY id DESC;

$sql_result = mysql_query($sql,$connection)
 or die(Couldn't execute query.);

   ?

?

while ($row = mysql_fetch_array($sql_result)) {
 $email = $row[email];
 $name = $row[name];
 $subject = $row[subject];
 $url = $row[url];
 $image2 = $row[image2];
 $comments = $row[comments];
 $dat = $row[dat];
$comments=nl2br($comments);
include(censorguestbook.php);

$ip = getenv (REMOTE_ADDR);

?

then all the HTML and display bits (Example at www.planetoxygene.com in the
guestbook).

?

}

mysql_free_result($sql_result);
mysql_close($connection);

?

Now my question is, how do I do paging in PHP?  I need to display 10 entries
per page, and be able to go back and forth with them.  I'm relatively new to
PHP so I would be really grateful for any advice.

Thanks everyone, I appreciate it.

Chris Payne
www.planetoxygene.com




-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DB] Paging help needed :-(

2001-07-11 Thread chris

Hi there Everyone,

I currently have a dedicated Apache server with PHP 4.06, MySQL etc .. installed and 
running fine.  Below is alittle peice of code that I would love an answer to:

?php

$connection = mysql_connect(Localhost,username!!!,password!!!) or die(Couldn't 
make a connection.);

$db = mysql_select_db(planet, $connection)
 or die(Couldn't select database.);

$sql = SELECT id, email, name, subject, url, image2, comments, dat
FROM users
ORDER BY id DESC;

$sql_result = mysql_query($sql,$connection)
 or die(Couldn't execute query.);

   ?

?

while ($row = mysql_fetch_array($sql_result)) {
 $email = $row[email];
 $name = $row[name];
 $subject = $row[subject];
 $url = $row[url];
 $image2 = $row[image2];
 $comments = $row[comments];
 $dat = $row[dat];
$comments=nl2br($comments); 
include(censorguestbook.php); 

$ip = getenv (REMOTE_ADDR); 

?

then all the HTML and display bits (Example at www.planetoxygene.com in the guestbook).

?

}

mysql_free_result($sql_result);
mysql_close($connection);

?

Now my question is, how do I do paging in PHP?  I need to display 10 entries per page, 
and be able to go back and forth with them.  I'm relatively new to PHP so I would be 
really grateful for any advice.

Thanks everyone, I appreciate it.

Chris Payne
www.planetoxygene.com