Solved

PHP While inside While problem

Posted on 2009-05-05
8
245 Views
Last Modified: 2013-12-12
I am trying to run a while script inside another while script, but it stops after one result.
What am I doing wrong?
<?php $cat_sql="SELECT * FROM cb_categories ORDER BY id ASC"; // Get all the categories and forums.

	$cat_result=mysql_query($cat_sql);

	while($cat_rows=mysql_fetch_array($cat_result)){ // Show next cateogry.

	?>

	<div class="index_cat_top"><font face="Comic Sans MS, cursive"><b><?php echo $cat_rows['name']; ?></b></font></div>

	<div class="index_cat_mid"><center><?php 

        $forum_sql="SELECT * FROM cb_forums WHERE category_id = $cat_rows[id] ORDER BY forum_id ASC";

        $forum_result=mysql_query($forum_sql);

        ?>

        <table width="820px" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">     

        <?php

        while($forum_rows=mysql_fetch_array($forum_result) or die(mysql_error())){ // Get all the forums in the category 

        ?>

        <tr>

        <td bgcolor="#FFFFFF"><? echo $forum_rows['forum_id']; ?></td>

        <td bgcolor="#FFFFFF"><a href="view_topic.php?id=<? echo $forum_rows['forum_id']; ?>"><? echo $forum_rows['name']; ?></a><BR></td>

        </tr>

        <?php } ?>

        </table></center>

    </div>

	<div class="index_cat_bot"></div>

    <br /><br />

<?php } ?>

Open in new window

0
Comment
Question by:DevinPitcher
8 Comments
 
LVL 19

Expert Comment

by:Michael701
Comment Utility
which loop is stopping?

I really don't see any syntax issues.

try this

        $cat_result=mysql_query($cat_sql);
echo "categories: ". mysql_num_rows($cat_result) ."<br />\n";

let's see how many records are getting returned.

btw: if you just use echo statments you won't have to be switching in and out of php and your code should look cleaner.

see attached
        while($cat_rows=mysql_fetch_array($cat_result)){ // Show next cateogry.

        echo "<div class='index_cat_top'><font face='Comic Sans MS, cursive'><b>".$cat_rows['name']. "</b></font></div>\n";

        echo "<div class='index_cat_mid'><center>\n"; 

        $forum_sql="SELECT * FROM cb_forums WHERE category_id = $cat_rows[id] ORDER BY forum_id ASC";

        $forum_result=mysql_query($forum_sql);

        echo "<table width='820px' border=0 align='center' cellpadding=3 cellspacing=1 bgcolor='#CCCCCC'>\n";

        while($forum_rows=mysql_fetch_array($forum_result) or die(mysql_error())){ // Get all the forums in the category 

Open in new window

0
 

Author Comment

by:DevinPitcher
Comment Utility
@Michael701

3 results, like I have in the database.
0
 
LVL 2

Expert Comment

by:-pio-
Comment Utility
Hi,
At first sight I see no problem with the code but

I would change this line:

$forum_sql="SELECT * FROM cb_forums WHERE category_id = $cat_rows[id] ORDER BY forum_id ASC";

to this:

$forum_sql="SELECT * FROM cb_forums WHERE category_id = ".$cat_rows[id]." ORDER BY forum_id ASC";

Regards,
Peter
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

Author Comment

by:DevinPitcher
Comment Utility
@-pio-

I will try that when I get home. That looks like it just may work.
0
 
LVL 19

Expert Comment

by:Michael701
Comment Utility
Did you view (verify) that the generated html is valid? Can you post a sample of the generated html?
0
 

Author Comment

by:DevinPitcher
Comment Utility
Found the issue: Line 12 above.
the or die command had messed it up. Works great now.
while($forum_rows=mysql_fetch_array($forum_result) or die(mysql_error())){ // Get all the forums in the category

Open in new window

0
 

Accepted Solution

by:
ee_auto earned 0 total points
Comment Utility
Question PAQ'd, 250 points refunded, and stored in the solution database.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

This article will explain how to display the first page of your Microsoft Word documents (e.g. .doc, .docx, etc...) as images in a web page programatically. I have scoured the web on a way to do this unsuccessfully. The goal is to produce something …
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now