Next & Previous Links

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Post Reply
gld4x4
Forum Newbie
Posts: 8
Joined: Wed Feb 18, 2004 6:31 am

Next & Previous Links

Post by gld4x4 »

:?: I have a database which I draw records from. I get these records from a form (select state > & <select practice>
When I display my results (limit 10) all works fine until I hit next or previous. The problem is my $state and $practice is not carried to the next page. Does anybody know how to carry it with the next link? I hope this is clear.

Thnak you for your time
User avatar
markl999
DevNet Resident
Posts: 1972
Joined: Thu Oct 16, 2003 5:49 pm
Location: Manchester (UK)

Post by markl999 »

Got some code to show?
Sounds like you're using $state and $practise instead of $_GET['state'] and $_GET['practise'] </guess>
gld4x4
Forum Newbie
Posts: 8
Joined: Wed Feb 18, 2004 6:31 am

Post by gld4x4 »

Here's the code:
Thanks for your help.



<?
$db = MYSQL_CONNECT("localhost",xxxxx,xxxxx) OR DIE("Unable to connect to database");
@mysql_select_db(address_book,$db) or die("Unable to select database");


$sql = "SELECT * FROM $state WHERE practice like '$practice' and search_state like '$state' order by 'date' ASC";
$query = mysql_query($sql,$db);
$total_results = mysql_num_rows($query);
$limit = "10"; //limit of archived results per page.
$total_pages = ceil($total_results / $limit); //total number of pages
if (empty($page))
{
$page = "1"; //default page if none is selected
}
$offset = ($page - 1) * $limit; //starting number for displaying results out of DB


$query = "SELECT * FROM $state WHERE practice like '$practice' and search_state like '$state' order by 'date' ASC LIMIT $offset, $limit";
$result = mysql_query($query);
//This is the start of the normal results...

if ($myrow = mysql_fetch_array($result))
{

echo "<BR><BR><P ALIGN=center><B><font size=+2>The following Attorney(s) or Law Firm(s)<BR>service the state of </font> <font size=+3 color=red>$myrow[5]</font></font></B></P>";

do{

echo "<BR><BR><Table cellpadding='0' cellspacing='0' border='0' align=center width='100%'><TR><TD>
<table width=100% cellpadding='0' cellspacing='0' border='0'><tr><td width=5><img src=images/left.gif></td><td background=images/fill.gif align=left width=80%><font size=3><b>$myrow[1]</b></font></td>
<td><img src=images/right.gif></td></tr>
<tr><td colspan=3 height=10 background=images/fill.gif></td></tr></table>
<tr><td>
<table Align='center' width='100%' cellpadding='0' cellspacing='0' border=0 background=images/rolodex1.gif><tr><td valign='top' background=images/fill.gif>
<B><font Color='red' size='2'>&nbsp;Address1:</font><font size='2'> $myrow[2]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;Address2:</font><font size='2'> $myrow[3]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;City:</font><font size='2'> $myrow[4]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;State:</font><font size='2'> $myrow[5]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;Zip code:</font><font size='2'> $myrow[6]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;Phone number:</font><font size='2'> $myrow[7]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;Toll Free Number:</font><font size='2'> $myrow[8]</font></b><BR>
<B><font Color='red' size='2'>&nbsp;Fax Number:</font><font size='2'> $myrow[9]</font></B><BR>
<B><font Color='red' size='2'>&nbsp;E-Mail Address:</font><font size='2'><a href=mailto:$myrow[10]> <font size=2 colsr='navy'> $myrow[10]</font></b></a><BR>
<B><font Color='red' size='2'>&nbsp;Web-Site Link:</font> <a href=http://$myrow[11]><font size=2 color='navy'>$myrow[11]</font></b></a>
<BR></td><td valign='top' align=right background=images/fill.gif><img src=http://legalreferralnetwork.com/images/ ... ]></td><td width=15 background=images/fill.gif></td></tr>
</table>
</td></tr><tr><td background=images/fill.gif><center>$myrow[18]</td>
<tr><td height=10 width=100% background=images/fill.gif></td>
</tr></table>";


} while ($myrow = mysql_fetch_array($result));


// This is the Previous/Next Navigation
echo "<font face=Verdana size=1>";
echo "Pages:($total_pages)&nbsp;&nbsp;"; // total pages
if ($page != 1)
{
echo "<a href=$PHP_SELF?page=1><< First</a>&nbsp;&nbsp;&nbsp;"; // First Page Link
$prevpage = $page - 1;
echo "&nbsp;<a href=$PHP_SELF?page=$prevpage><<</a>&nbsp;"; // Previous Page Link
}
if ($page == $total_pages)
{
$to = $total_pages;
}
elseif ($page == $total_pages-1)
{
$to = $page+1;
}
elseif ($page == $total_pages-2)
{
$to = $page+2;
}
else
{
$to = $page+3;
}
if ($page == 1 || $page == 2 || $page == 3)
{
$from = 1;
}
else
{
$from = $page-3;
}

for ($i = $from; $i <= $to; $i++)

{
if ($i == $total_results) $to=$total_results;
if ($i != $page)

{
echo "<a href=$PHP_SELF?showold=yes&page=$i>$i</a>";
}
else
{
echo "<b><font face=Verdana size=2>[$i]</font></b>";
}
if ($i != $total_pages)
echo "&nbsp;";
}
if ($page != $total_pages)
{
$nextpage = $page + 1;
echo "&nbsp;<a href=$PHP_SELF?page=$nextpage>>></a>&nbsp;"; // Next Page Link
echo "&nbsp;&nbsp;&nbsp;<a href=$PHP_SELF?page=$total_pages>Last >></a>"; // Last Page Link
}
echo "</font>";

// This is the end of the Previous/Next Navigation



}else{

echo "<BR><BR><BR>
<CENTER><TABLE Align='center' cellspacing='' celpadding='5' cols=1 width='75%' border=0>
<tr><td>
<P Align=center><font size=+3><B> Sorry,</font><Font size=+1><BR> There are no Attorneys or Law Firms<br>listed for your city.</font><br><br>
<font size=+2>Try expanding your search!</B></font></P>
<BR><center>
<FORM ACTION='attorney_state_results.php' METHOD='POST'>
<Input type='Hidden' name='practice' value='$practice'>
<center><table width='80%'><tr><td valign=center>

<SELECT NAME='state'>
<option value='AL' selected>Alabama</option>
<option value='AK'>Alaska</option>
<option value='AZ'>Arizona</option>
<option value='AR'>Arkansas</option>
<option value='CA'>California</option>
<option value='CO'>Colorado</option>
<option value='CT'>Connecticut</option>
<option value='DE'>Delaware</option>
<option value='DC'>Dist. of Columbia</option>
<option value='FL'>Florida</option>
<option value='GA'>Georgia</option>
<option value='HI'>Hawaii</option>
<option value='ID'>Idaho</option>
<option value='IL'>Illinois</option>
<option value='IN'>Indiana</option>
<option value='IA'>Iowa</option>
<option value='KS'>Kansas</option>
<option value='KY'>Kentucky</option>
<option value='LA'>Louisiana</option>
<option value='ME'>Maine</option>
<option value='MD'>Maryland</option>
<option value='MA'>Massachusetts</option>
<option value='MI'>Michigan</option>
<option value='MN'>Minnesota</option>
<option value='MS'>Mississippi</option>
<option value='MO'>Missouri</option>
<option value='MN'>Montana</option>
<option value='NE'>Nebraska</option>
<option value='NV'>Nevada</option>
<option value='NH'>New Hampshire</option>
<option value='NJ'>New Jersey</option>
<option value='NM'>New Mexico</option>
<option value='NY'>New York</option>
<option value='NC'>North Carolina</option>
<option value='ND'>North Dakota</option>
<option value='OH'>Ohio</option>
<option value='OK'>Oklahoma</option>
<option value='OR'>Oregon</option>
<option value='PA'>Pennsylvania</option>
<option value='PR'>Puerto Rico</option>
<option value='RI'>Rhode Island</option>
<option value='SC'>South Carolina</option>
<option value='SD'>South Dakota</option>
<option value='TN'>Tennessee</option>
<option value='TX'>Texas</option>
<option value='UT'>Utah</option>
<option value='VT'>Vermont</option>
<option value='VA'>Virginia</option>
<option value='WA'>Washinston</option>
<option value='WV'>West Virginia</option>
<option value='WI'>Wisconsin</option>
<option value='WY'>Wyoming</option>
<option value='Aberta'>Alberta</option>
<option value='BC'>British Columbia</option>
<option value='Manitoba'>Manitoba</option>
<option value='NB'>New Brunswick</option>
<option value='Newfoundland'>Newfoundland</option>
<option value='NT'>Northwest Territories</option>
<option value='NS'>Nova Scotia</option>
<option value='OT'>Ontario</option>
<option value='PEI'>Prince Edward Island</option>
<option value='Qubec'>Qubec</option>
<option value='Saskatchewam'>Saskatchewan</option>
<option value='Yukon'>Yukon</option
</SELECT>
</td><BR>
<td valign=center><INPUT TYPE=SUBMIT ' VALUE='Search For Attorney'></td></tr></table>
<center><table><TR><TD></td><td>
</FORM>
<BR><BR>
<center>
</td><td></td></tr></table></center>
<P Align=center>If you can not locate an Attorney
<BR>
please email <a href='http://legalreferralnetwork.com/attorne ... >Attorneys For Accidents</b></a><BR>
and we will assist you in finding the<br>Leading Attorney in your area.</P><BR>
</center>
</td></tr>
</table></center>
<TABLE Align=Center>
<TR>
<TD COLSPAN=18 WIDTH=676>
</td></TR></TABLE>";



}

?>
User avatar
markl999
DevNet Resident
Posts: 1972
Joined: Thu Oct 16, 2003 5:49 pm
Location: Manchester (UK)

Post by markl999 »

Yeah, the code requires register_globals to be On (it shouldn't really, it should work with them Off), so before making any changes better check if they are On or Off.

A <?php phpinfo() ?> page will tell you if register_globals are On or Off
gld4x4
Forum Newbie
Posts: 8
Joined: Wed Feb 18, 2004 6:31 am

Post by gld4x4 »

Thanks again,
I just check and they are on.
User avatar
markl999
DevNet Resident
Posts: 1972
Joined: Thu Oct 16, 2003 5:49 pm
Location: Manchester (UK)

Post by markl999 »

Okie, well $practise and $state are part of the form that is posted, and next and previous links don't refer to them, so they get lost when you click them. So one solution is to pass $practise and $state along with the next and previous links, eg
echo " <a href=$PHP_SELF?page=$nextpage&state=$state&practise=$practise>>></a> "; // Next Page Link

The logics a little hard to follow in your code so i'm not sure if $state and $practise are set at that point, but they should be, so it's worth a shot ;)
Post Reply