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
Retail terminologys not been altered after activing Retail System
Hi, All
After I active Retail System via TCode SWF5, the terms does not been changed, th
Links not updating
I'm trying to fuel a simple navigation system for a news section. It works fine when it comes to ret
Help with looping
I have a comma separated list of colors taken from a database ($ICo) and a directory of images named
PHP url branch??
Functionally, using PHP, I'm doing a test of login input submitted by a user via an html form in a f
code help - pagination
Hi all, I have this code, basically a user logs into my site and they get this page.
The pro
mysq_num_rows
Hi,
I want to use:
Code: if(mysql_num_rows($ergebnis2)==2)
how can the value 2, be
How to add an image/C++ OpenGL?
Hi,
I have been trying to look online for this and, so far, I haven't found anything usef
DB2 for z/OS, LUW, iSeries
Hello,
In this forum a lot of threads related to other members of the DB2 family than DB2 for z/OS
IMAGE - SERVER SIDE scripting help...
How to receive pixel data of an image and buid a bitmap file on the server using the HTTP POST metho
Referential Integrity problem when inserting into 2 tables at same time
Hello Everyone,
Im relativity new to PHP and MySQL and i have come up against a problem. i h