Jump to content

Pagination with 4 SQL queries


petenaylor

Recommended Posts

Hi all

 

I have a site with 4 SQL queries that I need to paginate so that it returns 10 hits per page maximum. Basically there will be varying values of adverts in each SQL table.

 

Here's my code:

 

<!-- Get Trader premium adverts -->
   
   <?php 
 $gettraderads = mysql_query("SELECT * FROM `trade-adverts` WHERE type = 'premium' AND paid = 1 AND categoryid = 1 AND live = 1 AND approved = 1 AND dateexpired >= '".$todaysdate."' ORDER BY id DESC ");
 $numtraderads = mysql_num_rows($gettraderads);
 while ($showtraderads = mysql_fetch_array($gettraderads)) {
include('trader-ad-cell.php'); 
 }
?>
    
    <!-- Get Trader standard adverts -->
   
   <?php 
 $gettraderads = mysql_query("SELECT * FROM `trade-adverts` WHERE type = 'standard' AND categoryid = 1 AND live = 1 AND approved = 1 AND dateexpired >= '".$todaysdate."' ORDER BY id DESC ");
 $numtraderads = mysql_num_rows($gettraderads);
 while ($showtraderads = mysql_fetch_array($gettraderads)) {
include('trader-ad-cell.php'); 
 }
?>
    
    <!-- Get premium adverts -->
    
    <?php 
 $getads = mysql_query("SELECT * FROM `adverts` WHERE categoryid = 1 AND type = 'premium' AND paid = 1 AND live = 1 AND approved = 1 AND dateexpired >= '".$todaysdate."' ORDER BY id DESC ");
 while ($showads = mysql_fetch_array($getads)) {
 include('ad-cell.php'); 
 }
?>
    
    <!-- Get standard adverts -->
   
    <?php 
 $getads = mysql_query("SELECT * FROM `adverts` WHERE categoryid = 1 AND type = 'standard' AND live = 1 AND approved = 1 AND dateexpired >= '".$todaysdate."' ORDER BY id DESC ");
 while ($showads = mysql_fetch_array($getads)) {
 include('standard-ad-cell.php'); 
 }
?>

 

Many thanks for your help

 

Pete

 

 

Link to comment
Share on other sites

I don't see any "pagination" in your scripting, but as far as showing only ten results add limit 10 to the end of your query.  Also keep those variable names unique for each query, i.e. $gettraderads, $gettraderads2 etc.

$gettraderads = mysql_query("SELECT * FROM `trade-adverts` WHERE type = 'premium' AND paid = 1 AND categoryid = 1 AND live = 1 AND approved = 1 AND dateexpired >= '".$todaysdate."' ORDER BY id DESC limit 10");

Link to comment
Share on other sites

I think the first thing to get do is to set up each of your select queries in if/elseif/else depending what ad type need to display.

http://php.net/manual/en/control-structures.elseif.php

 

Then you can move onto reading about pagination for that one select result.

http://www.phpfreaks.com/tutorial/basic-pagination

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.