PHP Classes

Records per page

Recommend this page to a friend!

      AJAX Paginator  >  All threads  >  Records per page  >  (Un) Subscribe thread alerts  
Subject:Records per page
Summary:Need to add a selector for the number of records per page
Messages:4
Author:Ivan Gonzalez
Date:2010-06-28 04:06:28
Update:2010-06-30 13:25:12
 

  1. Records per page   Reply   Report abuse  
Picture of Ivan Gonzalez Ivan Gonzalez - 2010-06-28 04:06:29
Omar,

Nice class, been using without any problems, however I need to add a selector for the number of records per page but I am a little confuse of where to put it and what to call afterwards.

Thanks in Advance


Ivan

  2. Re: Records per page   Reply   Report abuse  
Picture of Ivan Gonzalez Ivan Gonzalez - 2010-06-28 15:32:46 - In reply to message 1 from Ivan Gonzalez
Hi Omar, I kind of figure how to add the selector, however I am having an strange problem with blank lines (</br>) being added I the top of the output, (one per row) this is what I did. Any help would be appreciated!

1.- In testpage.php I added right after <div id="wrapper"> and before <div id='search-box' class="search-box"> my selector

testpage.php
-----------------------------------------------------------------------------------------------------------
<div id="wrapper">
Projects per page:&nbsp;<select name="rpp" id="rpp" onchange="paginate();return false">
<option selected value=8>8</option>
<option value=12>12</option>
<option value=16>16</option>
<option value=32>32</option>
<option value=64>64</option>
</select>
&nbsp;&nbsp;
<div id='search-box' class="search-box">
-----------------------------------------------------------------------------------------------------------

2.- In sub-page.php I commented out the hard-coded $recPerPage variable and added the line to get it from the command line

sub-page.php
-----------------------------------------------------------------------------------------------------------
//number of records per page
//$recPerPage = 8;
$recPerPage = intval($_GET['rpp']);
-----------------------------------------------------------------------------------------------------------

3.- In paginate.js I added var rpps = document.getElementById('rpp').value; and modified the var params line

paginate.js
-----------------------------------------------------------------------------------------------------------
var searchQuery = document.getElementById('search').value;
// get the existing GET variables
---> var rpps = document.getElementById('rpp').value;
var getVars = '';

// create the params string
var url = "sub_page.php";
---> var params = 'page='+pageNumber+'&search='+searchQuery+'&rpp='+rpps+getVars;
-----------------------------------------------------------------------------------------------------------


4.- To add wild search capabilities I additionally modified paginator.class.php as follows, mentioning just in case


-----------------------------------------------------------------------------------------------------------
/**
* Add search capability by manipulating the SQL query to handle the like clause
*
* @return
* added $this->searchQuery = "%" . $this->searchQuery . "%"; and remove % from end of searchQuery, 5 instances
*/
private function addSearch(){
$this->searchQuery = $this->conn->real_escape_string ( $this->searchQuery );
----> $this->searchQuery = "%" . $this->searchQuery . "%";
if (is_array ( $this->fields )) {
$count = count ( $this->fields );
for($i = 0; $i < $count; $i ++) {
// its the first field we have to check for WHERE clause
if ($i == 0) {
if (stripos ( $this->query, 'WHERE' )) {
----> $this->query .= " AND ({$this->fields[0]} like '$this->searchQuery'";
} else {
----> $this->query .= " WHERE ({$this->fields[0]} like '$this->searchQuery'";
}
}else{
----> $this->query .= " OR {$this->fields[$i]} like '$this->searchQuery'";
}
}
$this->query .= ") ";
} else {
// if only single field to search in
if (stripos ( $this->query, 'where' )) {
----> $this->query .= " AND name like '$this->searchQuery'";
} else {
----> $this->query .= " WHERE name like '$this->searchQuery'";
}
}
}
-----------------------------------------------------------------------------------------------------------

  3. Re: Records per page   Reply   Report abuse  
Picture of Ivan Gonzalez Ivan Gonzalez - 2010-06-28 17:23:24 - In reply to message 1 from Ivan Gonzalez
Never mind, I did figure it out!

In any case would be nice if you could review what I did!

Thanks and keep the good work!

  4. Re: Records per page   Reply   Report abuse  
Picture of Omar Abdallah Omar Abdallah - 2010-06-30 13:25:12 - In reply to message 3 from Ivan Gonzalez
Hello, Glad you had figured it out, I'm sorry I had changed my email and forgotten to check it, If you need any further help it don't hesitate to contact me, btw the GET form generated gets all the existing GET variables and adds them as hidden input fields