943,947 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Unsolved
  • Views: 7729
  • PHP RSS
Dec 15th, 2005
0

PHP Search pagination problem

Expand Post »
Hi I've been trying to make pagination for my search results and I have this problem: The first page displays ok but when the max result per page is achieved like $max_results = 2 and it reached 2 the links for the other pages shows but when clicked on it returns nothing and when I go back to page one nothing shows up either can someone help me out? My code is as follow:
[PHP]
<?php

// Database Connection
include 'ccm_chat/database/database.inc';

// If current page number, use it
// if not, set one!

if(!isset($_GET['page'])){
$page = 1;
} else {
$page = $_GET['page'];
}

// Define the number of results per page
$max_results = 10;

// Figure out the limit for the query based
// on the current page number.
$from = (($page * $max_results) - $max_results);

// Perform MySQL query on only the current page number's results

$sql = mysql_query("SELECT * FROM poc_user_data WHERE GENDER LIKE '$gender' AND AGE>='$agemin' AND AGE<='$agemax' AND INTERESTS LIKE '%$interest%' LIMIT $from, $max_results") or die(mysql_error());

while($row = mysql_fetch_array($sql)){
// Build your formatted results here.
echo '<p><table width="480" border="1" cellpadding="0" cellspacing="5" bordercolor="3a8ab6" bgcolor="dee7ed">';
echo '<tr>';
if(!$row['PICTURE_URL']){
echo '<td width="200" rowspan="4" align="center" class="profiletext">No Picture Available </td>';
}else{
echo '<td width="200" rowspan="4" align="center" class="profiletext"><img src="'.$row['PICTURE_URL'].'"></td>';
}
echo '<td width="280" class="profiletext">User name: '.$row['USER'].'</td>';
echo '</tr>';
echo '<tr>';
echo '<td class="profiletext">Name: '.$row['NAME'].'</td>';
echo '</tr>';
echo '<tr>';
echo '<td class="profiletext">Age: '.$row['AGE'].'</td>';
echo '</tr>';
echo '<tr>';
echo '<td class="profiletext">Gender: '.$row['GENDER'].'</td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" class="profiletext">Interests: </br>'.$row['INTERESTS'].'</p></td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2" class="profiletext">Motto: '.$row['MOTTO'].'</td>';
echo '</tr>';
echo '</table>';
}

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM poc_user_data WHERE GENDER LIKE '$gender' AND AGE>='$agemin' AND AGE<='$agemax' AND INTERESTS LIKE '%$interest%'"),0);

// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($total_results / $max_results);

// Build Page Number Hyperlinks
echo '<p class="text"><center>Select a Page<br />';

// Build Previous Link
if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Previous</a> ";
}

for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
}
}

// Build Next Link
if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Next>></a>";
}
echo "</center>";
?>
[/PHP]
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
StrikeFreedom is offline Offline
17 posts
since Aug 2005
Dec 19th, 2005
0

Re: PHP Search pagination problem

Hi,

I had done pagination before, and my code has the same structure and i think the problem could be due to the pagination section ie:

instead of :

"// Build Previous Link
if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Previous</a> ";
}
"

you could do this:

"// Build Previous Link
if($page > 1){

$prev = ($page - 1);
$words=$_GET['Query'];
$type=$_GET['SearchView'];
$search_type=$_GET['SearchType'];
$max_results=20;
$sort=$_GET['Sort'];

echo "<a href=search_pagin.php?page=$prev&Query=$words&SearchView=$type&$max_results&Sort=$sort&SearchType=$search_type> previous < </a>&nbsp;&nbsp;";
} "


do note words,$type, etc are only variables(which i extract the code from my own program of course), these variables are passsed on to the next page or link

instead of :

"for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
}
}
"

you could do this:

"for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i&nbsp;";
} else {
$words=$_GET['Query'];
$type=$_GET['SearchView'];
$search_type=$_GET['SearchType'];
$max_results=20;
$sort=$_GET['Sort'];

echo "<a href=search_pagin.php?page=$i&Query=$words&SearchView=$type&$max_results&Sort=$sort&SearchType=$search_type>$i</a>&nbsp;&nbsp;";
}
} "

and instead of :

"// Build Next Link
if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Next>></a>";
}
echo "</center>";
?> "

you could do this:

"// Build Next Link
if($page < $total_pages){
$next = ($page + 1);
$words=$_GET['Query'];
$type=$_GET['SearchView'];
$search_type=$_GET['SearchType'];
$max_results=20;
$sort=$_GET['Sort'];



echo "<a href=search_pagin.php?page=$next&Query=$words&SearchView=$type&$max_results&Sort=$sort&SearchType=$search_type> > next20 </a>";
} "


it sounds lengthy, but i hope it helps!!
Reputation Points: 10
Solved Threads: 1
Junior Poster in Training
tristan17 is offline Offline
51 posts
since Sep 2005
Mar 9th, 2010
0
Re: PHP Search pagination problem
thank you for this post..
happy birthday to me
Reputation Points: 10
Solved Threads: 0
Newbie Poster
blanche3 is offline Offline
2 posts
since Mar 2010
Mar 9th, 2010
0
Re: PHP Search pagination problem
excuse me. but is there other simpler codes in search and pagination?
i'm just a novice web developer.. thank you
Reputation Points: 10
Solved Threads: 0
Newbie Poster
blanche3 is offline Offline
2 posts
since Mar 2010

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: PHP LDAP_BIND with SSL
Next Thread in PHP Forum Timeline: pls take a look at my simple form mail script





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC