Multiple pages are displaying???

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Multiple pages are displaying???

Post 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.
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Post 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.
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Post by cturner »

Ok I have taken `ruralproperties_photos` out of the code. Now I am getting the same property listing 4 times.
Begby
Forum Regular
Posts: 575
Joined: Wed Dec 13, 2006 10:28 am

Post 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.
Post Reply