How do I add a filter button to this pagination?
        Posted  
        
            by ClarkSKent
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by ClarkSKent
        
        
        
        Published on 2010-04-26T02:06:25Z
        Indexed on 
            2010/04/26
            2:13 UTC
        
        
        Read the original article
        Hit count: 304
        
php
|pagination
Hey, I want to add a button(link), that when clicked will filter the pagination results.
I'm new to php (and programming in general) and would like to add a button like 'Automotive' and when clicked it updates the 2 mysql queries in my pagination script, seen here:
As you can see, the category automotive is hardcoded in, I want it to be dynamic, so when a link is clicked it places whatever the id or class is in the category part of the query.
1:
$record_count = mysql_num_rows(mysql_query("SELECT * FROM explore WHERE category='automotive'"));
2:
$get = mysql_query("SELECT * FROM explore WHERE category='automotive' LIMIT $start, $per_page");
This is the entire current php pagination script that I am using:
<?php
    //connecting to the database
    $error = "Could not connect to the database";
    mysql_connect('localhost','root','root') or die($error);
    mysql_select_db('ajax_demo') or die($error);
    //max displayed per page
    $per_page = 2;
    //get start variable
    $start = $_GET['start'];
    //count records
    $record_count = mysql_num_rows(mysql_query("SELECT * FROM explore WHERE category='automotive'"));
    //count max pages
    $max_pages = $record_count / $per_page; //may come out as decimal
    if (!$start)
       $start = 0;
    //display data
    $get = mysql_query("SELECT * FROM explore WHERE category='automotive' LIMIT $start, $per_page");
    while ($row = mysql_fetch_assoc($get))
    {
     // get data
     $name = $row['id'];
     $age = $row['site_name'];
     echo $name." (".$age.")<br />";
    }
    //setup prev and next variables
    $prev = $start - $per_page;
    $next = $start + $per_page;
    //show prev button
    if (!($start<=0))
           echo "<a href='pagi_test.php?start=$prev'>Prev</a> ";
    //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='pagi_test.php?start=$x'>$i</a> ";
     else
        echo " <a href='pagi_test.php?start=$x'><b>$i</b></a> ";
     $i++;
    }
    //show next button
    if (!($start>=$record_count-$per_page))
           echo " <a href='pagi_test.php?start=$next'>Next</a>";
    ?>
© Stack Overflow or respective owner