help retrieiving results and doing pagination

Posted on 16th Feb 2014 by admin

Having some trouble trying to get the results to show on more than just one page.

What is happening is that when i input a subject or zip code, i get results and links on the bottom to show the number of pages, but when i click on them it gives me a broken link error

Here is the code that i have at the top of my html code before the <html> tag begins

Code: if(!isset($_GET['resultsPage'])){
$resultsPage = 1;
} else {
$resultsPage = $_GET['resultsPage'];
}
// Define the number of results per page
$max_results = 9;

// Figure out the limit for the query based
$from = (($resultsPage * $max_results) - $max_results);

that is whats supposed to get the pages, and the number of search results

here is t he code i have inside my <body> tag that echoes the results and builds the links for the pages

Code: // perform the search
$subject = $_POST['subject'];
$location = $_POST['location'];

$sql = "SELECT * FROM tutorProfiles WHERE MATCH(subject, location) AGAINST('$subject*' '$location*' IN BOOLEAN MODE) LIMIT $from, $max_results";
$result = mysql_query($sql) or die("Problem, with Query:".mysql_error());

// Get number of articles, assign value to a variable
$count = mysql_num_rows($result);

echo "<h3>Search Results</h3>";
echo "<p class='resultspara'>There is a total of $count results found on our database.</p>";

$TableRows = mysql_num_rows($result);
$i = 0;

while ($i <$TableRows)

{
//Add resulting tablerow to relvant variable
$tutorId = mysql_result($result, $i, "id");
$first = mysql_result($result, $i, "first");
$school = mysql_result($result, $i, "school");
$degree = mysql_result($result, $i, "degree");
$class = mysql_result($result, $i, "class");

echo"
<div id='profileBox'>
<div id='badgeImg'>
<img src='images/imgBG.png' name='imgBadge' width='76' height='70' align='left' id='imgBadge' />
<h2>$first</h2>
<p>$school<br />
$degree - $class
</p>
</div>
<div id='profleBtn'>
<a href='profile.php?id=$tutorId'><img src='images/linkBtn.png' alt='view Profile' width='150' height='30' border='0' /></a>
</div>
</div>";
// loop through all results and indent number on each loop
$i ++;

} // close while loop

//Beggin Pagination

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM tutorProfiles"),0);

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

echo "<p style="clear:both;" align="center">n";


// Build Previous Link
if($resultsPage > 1)
{
$prev = ($resultsPage - 1);
echo "<a href="results.php.php?resultsPage=$prev">Previous</a>n ";
}

for($p = 1; $p <= $total_newspage; $p++)
{
if(($resultsPage) == $p)
{
echo "$pn ";
} else {
echo "<a href="result.php?resultsPage=$i">$p</a>n ";
}
}

// Build Next Link
if($resultsPage < $total_newspage)
{
$next = ($resultsPage + 1);
echo "<a href="results.php?resultsPage=$next">Next</a>n";
}
echo "</p>n";
//End pagination Script

Anyway if someone could take a look at the code when i would gladly appreciate it

Thanks in advance

Other forums