<?php
/***************************************************************
** Author : leapinglangoor [ [email protected] ]
** desc:
** This code will search trough records in an SQL database and
** display the amount of results that you want. If there are
** more records than the maximum amount it will display
** 'Previous 1,2,3,4,etc. 'Next'.
** Note : This code seems long and complicated but if you read
** the comment carefully you'll see its actually very easy!
** Also Edit the first line of the code to match your conditions
***************************************************************/
// PLease state your condition which will appear after WHERE in the sql
$cond = "`field` LIKE $foo"; // Or something
// Connect to SQL database
$global_db = mysql_connect('localhost', 'username', 'password');
mysql_select_db('databasename', $global_db);
// First query to find out how many reco
// rds we have
$query = "SELECT Fields FROM Table WHERE $cond";
$result = mysql_query($query);
// Number of records found
$num_record = mysql_num_rows($result);
// Number of records you want to display
// per page
$display = 25;
// Message when no records found
$XX = 'Sorry, no results were found!';
// If there are no records then startrow
// is 0
if (empty($startrow)) {
$startrow=0;
}
// Actual query, watch the end of the qu
// ery, here's where we set the LIMIT per p
// age
$query2 = "SELECT Fields FROM Tabel WHERE your conditions LIMIT $startrow, $display";
$result2 = mysql_query($query2);
* Put the results in a table
print("<table border=0><tr>");
* I want only 3 results (in this case pictures) on 1 line, therefore i need a counter
$counter = 0;
// Fetch the results (Begin loop)
while(list($Fields) = mysql_fetch_array($result2)) {
* If we have one line of three, move to the next line
if ($counter == 3) {
print("</tr><tr>");
* Set the counter to zero
$counter = 0;
}
// Display the results on the screen, th
// is is just an example, make your own tab
// el here
print("<td bgcolor=#004A80 width=200 height=200 align=center><font color=#FFFFFF>$Field1</font><br><a href=\"showdetail.php?ID=$id\"><img src=\"images/$Image\" border=0 width=170 height=170></a><br><font color=#FFFFFF>FL $PriceNlg € $PriceEuro</font></td>");
* Increase the counter with 1
$counter = $counter + 1;
}
// End loop
// Calculate the previous results, only
// print 'Previous' if startrow is not equa
// l to zero
if ($startrow != 0) {
$prevrow = $startrow - $display;
print("<a href=\"$PHP_SELF?startrow=$prevrow\">Previous</a> "); \\ Of cource here you can send more
} variables seperated by &
// Calculate the total number of pages
$pages = intval($num_record / $display);
// $pages now contains number of pages n
// eeded unless there are left over from di
// vision
if ($num_record % $display) {
// has left over from division, so add one page
$pages++;
}
// Print the next pages, first check if
// there are more pages then 1
if ($pages > 1) {
for ($i=1; $i <= $pages; $i++) { // Begin loop
$nextrow = $display * ($i - 1);
print("<a href=\"$PHP_SELF?startrow=$nextrow\">$i</a> "); \\ Also here you can send more
} variables seperatd by &
}
//End loop
// Check if we are at the last page, if
// so, dont print 'Next'
if (!(($startrow / $display) == $pages) && $pages != 1) {
// not the last page so print 'Next'
$nextrow = $startrow + $display;
print("<a href=\"$PHP_SELF?startrow=$nextrow\">Next</a>");
}
// If there are no results at all
if ($num_record < 1) {
print("<table border=0 width=795><tr><td>$XX</td></tr></table>");
}
?>