After reading and trying out a few of these pagination solutions from here, I'm still not having any luck getting things to work within a case statement. No chance to change it now to anything else. Any chance someone can prod me in the right direction?
My exact problem is that clicking on any linked page takes me to the main page ($PHP_SELF) and not from within the case itself (case 'Search By Address'). I am not sure how to do this and stay within the case.
Also, in most of the examples I've seen I have no idea what variables '$search' or '$result' refer to - where are they previously declared?
case 'Search by Address':
$address = mysql_real_escape_string($_POST['address']);
if (!Validate::isNotEmpty($_POST['address'])) {
$errmsg[] = "<li class=\"error\">Your entry appears to be empty; please enter an address.<br />";
}
$errors = count($errmsg);
if ($errors > 0) {
mlsForm();
echo "<br />";
echo "<ul>";
foreach($errmsg as $key) {
echo $key;
}
echo "</ul>";
addressForm();
echo "<br />";
detailedForm();
echo "<br />";
} else {
//0 errors
//1. create temporary table, then insert address search matches into temp table
//2. run PHP query to select off temp table
mysql_query("DROP TEMPORARY TABLE IF EXISTS AddressSearch;") or die(mysql_error());
mysql_query("CREATE TEMPORARY TABLE AddressSearch (
ListNum INT(10) UNSIGNED NOT NULL DEFAULT 0,
AddressNum VARCHAR(11) NULL,
AddressDirection VARCHAR(255) NULL,
Street VARCHAR(255) NULL,
Area INT(11) NULL,
Price INT(11) NULL,
PropertyType VARCHAR(11) NULL,
Relevancy DOUBLE NULL
)") or die(mysql_error());
mysql_query("INSERT INTO AddressSearch SELECT ListNum,AddressNum,AddressDirection,Street,Area,Price,'RES', MATCH(AddressNum,AddressDirection,Street) AGAINST('".$_POST['address']."') AS Relevancy FROM `listingsRES` WHERE MATCH (AddressNum,AddressDirection,Street) AGAINST ('".$_POST['address']."');") or die(mysql_error());
mysql_query("INSERT INTO AddressSearch SELECT ListNum,AddressNum,AddressDirection,Street, Area, Price,'CIB', MATCH(AddressNum,AddressDirection,Street) AGAINST('".$_POST['address']."') AS Relevancy FROM `listingsCIB` WHERE MATCH (AddressNum,AddressDirection,Street) AGAINST ('".$_POST['address']."');") or die(mysql_error());
mysql_query("INSERT INTO AddressSearch SELECT ListNum,AddressNum,AddressDirection,Street,Area,Price,'FAL', MATCH(AddressNum,AddressDirection,Street) AGAINST('".$_POST['address']."') AS Relevancy FROM `listingsFAL` WHERE MATCH (AddressNum,AddressDirection,Street) AGAINST ('".$_POST['address']."');") or die(mysql_error());
mysql_query("INSERT INTO AddressSearch SELECT ListNum,AddressNum,AddressDirection,Street,Area,Price,'MUL', MATCH(AddressNum,AddressDirection,Street) AGAINST('".$_POST['address']."') AS Relevancy FROM `listingsMUL` WHERE MATCH (AddressNum,AddressDirection,Street) AGAINST ('".$_POST['address']."');") or die(mysql_error());
// limit value for number of records to be shown per page
// query database to find total number of records to display
$limit = 10;
$query_count = "SELECT * FROM AddressSearch ORDER BY Relevancy DESC, AddressNum DESC;";
$result_count = mysql_query($query_count);
$totalrows = mysql_num_rows($result_count);
if(empty($page)) {
$page = 1;
}
$limitvalue = $page * $limit - ($limit);
$query = "SELECT * FROM AddressSearch ORDER BY Relevancy DESC, AddressNum DESC LIMIT $limitvalue, $limit;";
$result = mysql_query($query) or die("Error: " . mysql_error());
$count_result = mysql_num_rows($result);
// Display links at the top to indicate current page and number of pages displayed
$numofpages = ceil($totalrows / $limit);
echo'<div class="listingsDisplay">';
echo"<br><b>$totalrows</b> result(s)";
echo "</div>";
$from=$limit*$page-$limit+1;
$to=$from + $count_result-1;
if($totalrows == 0) {
# *******************************************
# No Results Returned on Address Search
# ***********************************************
?>
<div style="width: 700px; border: 0px; padding: 5px; margin: 0px auto;">
<br />
No results returned with your criteria. Try your search again.
</div>
<br />
<br />
<?php
} else { //if $numrows > 0
// start 123 next>> table
if($numofpages > 1) {
echo'<div class="listingsDisplay">';
echo "Showing results $from - $to<br><br>
<b>Go to page:</b> ";
echo '</div>';
}
echo'<div class="listingsDisplay">';
// display previous link if page is not 1
if($page != 1){
$pageprev = $page - 1;
echo("<a href=\"$PHP_SELF?page=$pageprev&search=$query\"><< PREV</a> ");
}
// display page nos if not 1
for($i = 1; $i <= $numofpages; $i++){
if($numofpages>1){
if($i == $page) {
echo(" ".$i." ");
} else {
echo(" <a href=\"$PHP_SELF?post=Submit&page=$i&search=$search\">$i</a> ");
}
}
}
// display next page link if there is more than one
if(($totalrows - ($limit * $page)) > 0){
$pagenext = $page + 1;
echo("<a href=\"$PHP_SELF?page=$pagenext&search=$query\">NEXT >></a>");
}
echo '</div>';
?>
<div style="float:right;font-size:10px;margin: 0 20px 0 0">
<span style="font-weight:bold">Key</span>: CIB = Commercial / FAL = Farm, Acreage, Land / MUL = Multiple Dwelling / RES = Residential
</div>
<br />
<div class="listingsDisplayHead">
<table>
<tr>
<td style="width:100px;"> </td>
<td style="width:200px;">Address</td>
<td style="width:150px;">Area</td>
<td style="width:100px;">Price</td>
<td style="width:50px;">Type</td>
<td style="width:50px;"> </td>
</tr>
</table>
</div>
<br />
<?php
while($row = mysql_fetch_array($result)) {
for ($count = 1; $row = mysql_fetch_assoc ($result);++$count) {
$fullAddress = $row['AddressNum'];
if(isset($row['AddressDirection'])) {
$fullAddress .= " " . $row['AddressDirection'] . " ";
} else {
$fullAddress .= " ";
}
$fullAddress .= $row['Street'];
$fullAddress = ucwords(strtolower($fullAddress));
$sql_images = "select i.name, i.path, a.ListNum
FROM images i INNER JOIN AddressSearch a
WHERE i.name LIKE '".$row['ListNum']."%'";
$query_images = mysql_query($sql_images);
$row_images = mysql_fetch_array($query_images);
$num_images = mysql_num_rows($query_images);
//use Area row from previous query
$query_area = "SELECT a.value, a.description
FROM areas a
WHERE a.value = '".$row['Area']."'";
$result_area = mysql_query($query_area);
$row_area = mysql_fetch_array($result_area);
?>
<div class="listingsDisplay">
<FORM ACTION="listingsDetail.php" METHOD="post" ENCTYPE="multipart/form-data" NAME="searchDetails" TITLE="searchDetails">
<input name="mlsnum" type="hidden" value="<?php echo $row['ListNum']; ?>" />
<input name="PropertyType" type="hidden" value="<?php echo $row['PropertyType']; ?>" />
<table>
<tr>
<td style="width:100px;"><?php
if($num_images > 0) {
echo "<img src=\"".$row_images['path']."\" width=\"80\" alt=\"".$row_images['name']."\" longdesc=\"".$row_images['name']."\" />";
} else {
echo "<img id=\"img\" src=\"images/no_image_thumb.gif\" width=\"80\" border=\"1\" alt=\"No image available\" />";
}
?>
</td>
<td style="width:200px;"><?php echo $fullAddress; ?></td>
<td style="width:150px;"><?php echo $row_area['description']; ?></td>
<td style="width:100px;">$<?php echo number_format($row['Price']); ?></td>
<td style="width:50px;"><?php echo $row['PropertyType']; ?></td>
<td style="width:50px;"><input type="submit" name="submit" value="See Details" />
</td>
</tr>
</table>
</FORM>
<br />
</div>
<?php
} //TEST end
} //END while
//echo $sql;
mysql_query("DROP TABLE AddressSearch");
mysql_close();
} //END if($numrows == 0)
}
break;