Page 1 of 1

Multiple pages are displaying???

Posted: Mon Mar 19, 2007 7:08 pm
by cturner
My code below displays multiple pages of the same thing. It is not suppose to do that. The code is suppose to display each property listing with their photos. Can someone please have a look at my code and tell me how I can fix this problem? Thanks in advance.

I feel that the problem is in this part of the my code:

Code: Select all

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) AS Num FROM `ruralproperties`, `ruralproperties_photos`"),0) or die ("Could not query because: " . mysql_error());

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

// Build Page Number Hyperlinks
echo "<center>";

if ($page == 1) {
    echo "Previous ";
} else {
    echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">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> ";
    }
}

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

echo "</center>";
mysql_close();
If anyone needs to see an example of the problem click here.

Posted: Mon Mar 19, 2007 7:09 pm
by cturner
Here is the whole code:

Code: Select all

require "config.php";
if(!isset($_GET['page'])) {
    $page = 1;
} else {
    $page = $_GET['page'];
}

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

// 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 `ruralproperties` LEFT JOIN `ruralproperties_photos` ON ruralproperties.id = ruralproperties_photos.parent_id ORDER BY `propertyname` LIMIT $from, $max_results") or die ("Could not query because: " . mysql_error());

while($row = mysql_fetch_array($sql)){

	

$image = $row['photos'];

	

$filename = $row['photos'];

	

$propertyname = stripslashes($row['propertyname']);

	

$propertyname = stripslashes($propertyname);

	

$propertyname = stripslashes($propertyname);

	

$message1 = stripslashes($row['message1']);

	

$message1 = stripslashes($message1);

	

$message1 = stripslashes($message1);

	

$message2 = stripslashes($row['message2']);

	

$message2 = stripslashes($message2);

	

$message2 = stripslashes($message2);

	

$message3 = stripslashes($row['message3']);

	

$message3 = stripslashes($message3);

	

$message3 = stripslashes($message3);

	

$message4 = stripslashes($row['message4']);

	

$message4 = stripslashes($message4);

	

$message4 = stripslashes($message4);

	

$message5 = stripslashes($row['message5']);

	

$message5 = stripslashes($message5);

	

$message5 = stripslashes($message5);

	

$message6 = stripslashes($row['message6']);

	

$message6 = stripslashes($message6);

	

$message6 = stripslashes($message6);

	

$message7 = stripslashes($row['message7']);

	

$message7 = stripslashes($message7);

	

$message7 = stripslashes($message7);

	

$message8 = stripslashes($row['message8']);

	

$message8 = stripslashes($message8);

	

$message8 = stripslashes($message8);

	

$message9 = stripslashes($row['message9']);

	

$message9 = stripslashes($message9);

	

$message9 = stripslashes($message9);

	

$message10 = stripslashes($row['message10']);

	

$message10 = stripslashes($message10);

	

$message10 = stripslashes($message10);

	

$message11 = stripslashes($row['message11']);

	

$message11 = stripslashes($message11);

	

$message11 = stripslashes($message11);

	

$message12 = stripslashes($row['message12']);

	

$message12 = stripslashes($message12);

	

$message12 = stripslashes($message12);

	

$message13 = stripslashes($row['message13']);

	

$message13 = stripslashes($message13);

	

$message13 = stripslashes($message13);

	

$message14 = stripslashes($row['message14']);

	

$message14 = stripslashes($message14);

	

$message14 = stripslashes($message14);

	

$message15 = stripslashes($row['message15']);

	

$message15 = stripslashes($message15);

	

$message15 = stripslashes($message15);

	

$message16 = stripslashes($row['message16']);

	

$message16 = stripslashes($message16);

	

$message16 = stripslashes($message16);

	

$message17 = stripslashes($row['message17']);

	

$message17 = stripslashes($message17);

	

$message17 = stripslashes($message17);
    // Build your formatted results here

	

echo "<center><b>".$propertyname."</b></center>";

	

echo "<table width=100% border=0 cellspacing=0 cellpadding=0>";

	

echo '<tr><td width=20% valign=top><div class=titletxt>'.$row['category1'].'</div></td>';

	

echo '<td width=50% valign=top>'.$message1.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category2'].'</div></td>';

	

echo '<td valign=top>'.$message2.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category3'].'</div></td>';

	

echo '<td valign=top>'.$message3.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category4'].'</div></td>';

	

echo '<td valign=top>'.$message4.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category5'].'</div></td>';

	

echo '<td valign=top>'.$message5.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category6'].'</div></td>';

	

echo '<td valign=top>'.$message6.'</td><tr>';

	

echo '<tr><td colspan=4 valign=top></td></tr>';

	

echo '<tr><td width=14% valign=top><div class=titletxt>'.$row['category7'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message7.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category8'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message8.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category9'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message9.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category10'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message10.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category11'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message11.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category12'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message12.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category13'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message13.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category14'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message14.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category15'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message15.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category16'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message16.'</td></tr>';

	

echo '<tr><td valign=top><div class=titletxt>'.$row['category17'].'</div></td>';

	

echo '<td colspan=3 valign=top>'.$message17.'</td></tr>';

	

echo '</table>';

	

$parent_id = $row['parent_id'];

	

echo '<a href="edit_property.php?id='.$row['id'].'">EDIT</a> ';

	

echo '<a href="delete_property.php?id='.$row['id'].'&parent_id='.$row['parent_id'].'">DELETE</a><br /><br />';
}

if (mysql_affected_rows() == 0) {

	

print "No properties to be displayed.";
}

$query = mysql_query("SELECT * FROM ruralproperties_photos WHERE parent_id = '$parent_id'") or die ("Could not query because: " . mysql_error());
while ($row = mysql_fetch_array($query)) {

	

echo '<a href=# onClick="popWin(\''.$row['filename'].'.htm\', \'\', \'640\', \'480\')"><img src=http://www.houlahanyoung.com.au/images/'.$row['photos'].' border=0 /></a> ';
}

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) AS Num FROM `ruralproperties`, `ruralproperties_photos`"),0) or die ("Could not query because: " . mysql_error());



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

// Build Page Number Hyperlinks
echo "<center>";

if ($page == 1) {

	

echo "Previous ";
} else {

	

echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">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> ";
    }
}

if ($page == $total_pages) {

	

echo " Next";
} else {

	

echo " <a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">Next</a>";
}

echo "</center>";
mysql_close();
I would only like people to solve the problem I asked not anything else at the moment.

Posted: Mon Mar 19, 2007 7:44 pm
by cturner
Ok I have taken `ruralproperties_photos` out of the code. Now I am getting the same property listing 4 times.

Posted: Tue Mar 20, 2007 12:07 pm
by Begby
To start with, here is a tip - If you have to copy and paste source code 10 times over, perhaps its time to use a loop.


As for your problem, you are doing a left join which is going to return more than one record per property if the property has pictures, so your recordset looks like

BRAYLEE - picture 1
BRAYLEE - picutre 2
BRAYLEE - picture 3
BRAYLEE - picuter 4
DUNOLLIE - no pics

Since on page 3 you are limiting the result set to the 3rd record, you are retrieving the same property again.