Multiple WHILE loops help
Posted on
16th Feb 2014 07:03 pm by
admin
Hi there. I'm writing an application that is pulling and displaying results for real estate listings and associated photographs. The output is using two MySQL querys and WHILE statements. The outer WHILE loop pulls listing information for all listings within a given category. This loop is working just fine.
The problem lies within the second, inner WHILE loop. The second loop pulls photograph information for each of the listings provided in the first loop. What's happening is; after each subsequent iteration of the first loop, the second loop is displaying all results of all previous second loops plus the current run. (Additionally, the first result of only the first run is displaying twice) Hopefully I can demonstrate better below.
Listing 1 information
(assuming Listing 1 has 2 photos)
Listing 1 photo 1, Listing 1 photo 1, Listing 1 photo 2 //for some reason the first photo of only the first listing is displayed twice
Listing 2 information
(assuming Listing 2 has 2 photos)
Listing 1 photo 1, Listing 1 photo 2, Listing 2 photo 1, Listing 2 photo 2
Listing 3 information
(assuming Listing 3 has 1 photo)
Listing 1 photo 1, Listing 1 photo 2, Listing 2 photo 1, Listing 2 photo 2, Listing 3 photo 1
Here is the code I'm using:
Code: $catlist = @mysql_query("SELECT * FROM category GROUP BY CatName ORDER BY CatName");
if (!$catlist) {
echo("<p>Error getting results: " . mysql_error . "</p>");
}
// display category listing
echo("<p align="center">| n");
while($pagerow = mysql_fetch_array($catlist)) {
$CatName=$pagerow["CatName"];
$CatID=$pagerow["CatID"];
$count = @mysql_query("SELECT * FROM CategoryLookup WHERE CatID='$CatID'");
if(!$count) {
echo ("<p>Could not count rows: " . mysql_error . "</p>");
}
$number = mysql_num_rows($count);
echo(" <a href='$PHP_SELF?cat=" . $CatID . "'>" . $CatName ." (" . $number . ")</a> |");
}
echo("</p>n");
if (isset($_GET['cat'])) {
$cat = $_GET['cat'];
$result = @mysql_query("SELECT * FROM CategoryLookup, Listing WHERE CategoryLookup.CatID='$cat' AND Listing.ID=CategoryLookup.ID");
if (!$result)
{
echo("<P>Error getting results: " . mysql_error . "</P>");
}
//Display contacts in paragraphs
//with delete and modify link beside each
while ( $row = mysql_fetch_array($result) )
{
$ID = $row["ID"];
$MLSNum = $row["MLSNum"];
$Price = $row["Price"];
$Status = $row["Status"];
//Removed for brevity
$Direction = $row['Direction'];
//Build output and remove empty lines
$output = '<p>';
if($MLSNum != '') {
$output .= '<strong style="font-size:120%;">' . $MLSNum . '</strong><br />';
}
if($Price != '') {
$output .= '$' . $Price . '<br />';
}
if($Status != '') {
$output .= $Status . '<br />';
}
//Again, removed for brevity
$output .= "<p>Directions:<br />" . $Direction . "</p>n";
//Start output display
echo("<table width='800' bgcolor='#DEDEDE'><tr><td>n");
echo("<table><tr><td valign="top">n");
echo $output;
echo("</td></tr>n");
//Start photograph display
echo("<tr><td colspan="2">n");
//###############################
//#####PROBLEM AREA STARTS HERE#######
//###############################
$photoresult = @mysql_query("SELECT Photo, Main FROM photos WHERE photos.MLSNum='$MLSNum' AND photos.ID='$ID'");
if (!$photoresult)
{
echo("<P>Error getting results: " . mysql_error . "</P>");
}
while ( $photorow = mysql_fetch_array($photoresult) )
{
$Photo = $photorow["Photo"];
$Main = $photorow["Main"];
$Timg='../pics/' . $Photo . '';
$photooutput .= " <a href="" . $Timg . ""><img src="RESIZE_IMAGE.PHP?image=" . $Timg . "" border="0" ";
if($Main=='Yes') {
$photooutput .= "style="border:2px solid #f00;" ";
}
$photooutput .= " /></a>n";
echo $photooutput;
}
//#########################
//########end phoblem area######
//##########################
echo("</td></tr></table>n");
//Finish output display
echo("</td>" .
"<td align='center'><p><a href='$current_url?delcontact=$ID'>Delete this listing?</a></p>n" .
"<p><a href='$current_url?modcontact=$ID'>Modify this listing?</a></p>n" .
"<p><a href='photos.php?ID=$ID&MLSNum=$MLSNum'>Add / Edit Photos</a></p>n" .
"</td></tr></table>
n");
echo $ID . " | " . $MLSNum;
}
} else {
echo("<p>Select a category above</p>n");
}
I must be missing something small but my lone set of eyeballs are going crazy.
Please help
No comments posted yet
Your Answer:
Login to answer
317 44
Other forums
breaking a text file into paragraphs based on strings
I have a text file of email addresses that is all squished together. It looks like this:
abc
mysql_real_escape_string making variable equal nothing
i post a form and i post the variable:
Code: $var = $_POST[variable];then i echo $var its what i
filesize() returns 0
I have a socket program that runs in an infinite loop, listening for connections, in this socket I h
The page should be expire when cilck back button
hi,
i'm new to php world.
i create user registration page.
when i submit it,data goes to my
Structure Question - One Table or One Table Per Record Set?
I have a web app (mySQL and PHP) which allows people to create an item with up to 200 records which
Sendmail.php - heading error following check_input
Hi,
I would greatly appreciate some help? I am brand new to PHP and have been searching and e
Saving PHP output as a file
I wondered if anyone knows how to save the rendered output of a PHP script as a file?
I have
Multi Level Array Problem
hi all,
For example I have array like below:
$temp = array(array('north america', 'us'
help with variable
I've got a problem, i want to echo some images depending on the $id, however for me to get that id i
ereg_replace()
Basically what i need to do is
$title = "This Suck's"
$striped = ereg_repl