stan801003 Posted January 2, 2007 Share Posted January 2, 2007 Hi, I have download a paging script, but whilst it works, it only returns the first five records. Whilst this is the number that is set to show, the other records from the database do not roll over on to the next page. Can anybody please pointme in the right direction.[code=php:0]if(!isset($start)) { // This variable is set to zero for the first page$start = 0;}$eu = ($start -0); $limit = 5; // No of records to be shown per page.$this = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; /////////////// WE have to find out the number of records in our table. We will use this to break the pages///////$query2=" SELECT * FROM vacancies ";$result2=mysql_query($query2);echo mysql_error();$nume=mysql_num_rows($result2);/////// The variable nume above will store the total number of records in the table/////////////// Now let us print the table headers ////////////////$bgcolor="#f1f1f1";echo "<TABLE width=50% align=center cellpadding=0 cellspacing=0> <tr>";echo "<td bgcolor='dfdfdf' > <font face='arial,verdana,helvetica' color='#000000' size='4'>ID</font></td>";echo "<td bgcolor='dfdfdf' > <font face='arial,verdana,helvetica' color='#000000' size='4'>Name</font></td>";echo "<td bgcolor='dfdfdf' > <font face='arial,verdana,helvetica' color='#000000' size='4'>Class</font></td>";echo "<td bgcolor='dfdfdf'> <font face='arial,verdana,helvetica' color='#000000' size='4'>Mark</font></td></tr>";////////////// Now let us start executing the query with variables $eu and $limit set at the top of the page///////////$query=" SELECT * FROM vacancies limit $eu, $limit ";$result=mysql_query($query);echo mysql_error();//////////////// Now we will display the returned records in side the rows of the table/////////while($noticia = mysql_fetch_array($result)){if($bgcolor=='#f1f1f1'){$bgcolor='#ffffff';}else{$bgcolor='#f1f1f1';}echo "<tr >";echo "<td align=left bgcolor=$bgcolor id='title'> <font face='Verdana' size='2'>$noticia[id]</font></td>"; echo "<td align=left bgcolor=$bgcolor id='title'> <font face='Verdana' size='2'>$noticia[jobtitle]</font></td>"; echo "<td align=left bgcolor=$bgcolor id='title'> <font face='Verdana' size='2'>$noticia[location]</font></td>"; echo "<td align=left bgcolor=$bgcolor id='title'> <font face='Verdana' size='2'>$noticia[salary]</font></td>"; echo "</tr>";}echo "</table>";////////////////////////////// End of displaying the table with records ///////////////////////////// Variables set for advance paging///////////$p_limit=8; // This should be more than $limit and set to a value for whick links to be breakedif(!isset($p_f)){$p_f=0;}$p_fwd=$p_f+$p_limit;$p_back=$p_f-$p_limit;//////////// End of variables for advance paging ////////////////////////////// Start the buttom links with Prev and next link with page numbers /////////////////echo "<table align = 'center' width='50%'><tr><td align='left' width='20%'>";if($p_f<>0){print "<a href='$page_name?start=$p_back&p_f=$p_back'><font face='Verdana' size='2'>PREV $p_limit</font></a>"; }echo "</td><td align='left' width='10%'>";//// if our variable $back is equal to 0 or more then only we will display the link to move back ////////if($back >=0 and ($back >=$p_f)) { print "<a href='$page_name?start=$back&p_f=$p_f'><font face='Verdana' size='2'>PREV</font></a>"; } //////////////// Let us display the page links at center. We will not display the current page as a link ///////////echo "</td><td align=center width='30%'>";for($i=$p_f;$i < $nume and $i<($p_f+$p_limit);$i=$i+$limit){if($i <> $eu){$i2=$i+$p_f;echo " <a href='$page_name?start=$i&p_f=$p_f'><font face='Verdana' size='2'>$i</font></a> ";}else { echo "<font face='Verdana' size='4' color=red>$i</font>";} /// Current page is not displayed as link and given font color red}echo "</td><td align='right' width='10%'>";///////////// If we are not in the last page then Next link will be displayed. Here we check that /////if($this < $nume and $this <($p_f+$p_limit)) { print "<a href='$page_name?start=$next&p_f=$p_f'><font face='Verdana' size='2'>NEXT</font></a>";} echo "</td><td align='right' width='20%'>";if($p_fwd < $nume){print "<a href='$page_name?start=$p_fwd&p_f=$p_fwd'><font face='Verdana' size='2'>NEXT $p_limit</font></a>"; }echo "</td></tr></table>";[/code] Quote Link to comment Share on other sites More sharing options...
weknowtheworld Posted January 3, 2007 Share Posted January 3, 2007 What type of paging you want?Please explain in detail.. Quote Link to comment Share on other sites More sharing options...
stan801003 Posted January 4, 2007 Author Share Posted January 4, 2007 Hi, the paging is for the result pages of a search query, i wanted to show five results per page, and the number of viewable pages along the bottom. This script returns the first results page and shows the pages along the bottom of the page, but it does not link to the next results page. No matter what i do, it only ever seems to return one page of results. Be it 1 result or ten, but never links to the second page. I have tried a number of different things, including a whole new script, but the same thing keeps happening. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.