Solved

Display Results from SQL with a foreach loop

Posted on 2009-06-28
3
747 Views
Last Modified: 2013-12-13
Hey Guys,

I am having an issue with the following SQL Statement. I want to populate my drop down form box with information from my database.

Pretty much I want to have as many options as there are rows in my <select> drop down </select>

What I need pulled from the database is the following <option value="$rows['page_id']>' . $rows['page_title'] . '</option>";

Here is my code:
$sql = "Select * from content";
	//echo $sql . "<br>";
	
	$result= mysql_query($sql);
	
	$num_rows = mysql_num_rows($result);
	$rows = mysql_fetch_array($result);
	//echo "Total rows found is : " . $num_rows;
	
	for($i = 1; $i <= $num_rows; $i++) {
		echo $i;
		foreach ($rows as $page) {
			//echo $page;
			$cmspages = '<option value="' . $rows['page_id'] . '">' . $rows['page_title'] . '</option>';
		}
	}

Open in new window

0
Comment
Question by:George-TCC
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 24734056
this should do better:
$sql = "Select * from content";
      //echo $sql . "<br>";
      
      $result= mysql_query($sql); 
      $i = 0;
      
      $num_rows = mysql_num_rows($result);
      //echo "Total rows found is : " . $num_rows;
      
      while ($row = mysql_fetch_assoc($result))
      {
         $i++;
         $cmspages = '<option value="' . $row['page_id'] . '">' . $rows['page_title'] . '</option>';
         echo $cmspages;
      }

Open in new window

0
 
LVL 7

Expert Comment

by:szewkam
ID: 24734072
well, the easiest way to loop through data set from db is while.
I'm not pretty sure this is what you want, but try :)
<?
$sql = "Select * from content";
        //echo $sql . "<br>";
        
        $result= mysql_query($sql);
        
        $num_rows = mysql_num_rows($result);
        //echo "Total rows found is : " . $num_rows;
        
        while ($rows = mysql_fetch_array($result)
                        //echo $page;
                        $cmspages = '<option value="' . $rows['page_id'] . '">' . $rows['page_title'] . '</option>';
        }

Open in new window

0
 

Author Closing Comment

by:George-TCC
ID: 31597803
Great it works perfectly!

Thanks for that! Enjoy the points - Well earned! :)
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
The viewer will learn how to count occurrences of each item in an array.
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 …

630 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