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.

Did you know?Explore Trending and Topic pages for more stories like this.
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 .= "&nbsp;<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 Like 44 Dislike
Previous forums Next forums
Other forums

I need desperate help with this php code integrated with flash please
Can someone please help me with this php code which I have been stuck on for weeks . I am trying to

query help
Hi experts.

i have a table rep2 like this
PROD_COD ACCT_NO DUE_DAYS BALANCE

Motivational Posters
Hello,

I wonder how can i do them in php. Are there any sample codes that you can show me?

Undefined index on my form
ok im getting Undefined index on this line.. print_r($_REQUEST['form']);

below is the full sc

shift numbers with paging
Hi

How would i be able to display 10 numbers 1 2 3 4 5 6 7 8 9 10
and when I click next

php code to accept and delete incoming data
Using following HTML Code please show me how to write PHP code to accept and delete the incoming dat

get multiple rows
Hi I want to get multiple rows from a db

I am using this for the db query
Code: public

Polymorphism
Was wondering if someone could explain this a little better to me. I had always assumed that it had

rename the file
File.txt

Code: ***DOCUMENT***
..DN:
000044255
..CB:
..SN:
..PY:
2009
..E

Get content from table into a list, without repeating.
Alright this is kinda an odd thing, so I need some help.

I have a table "quote" wit

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash