Solved

Build select menus based on this array

Posted on 2008-10-18
1
170 Views
Last Modified: 2008-10-21
Ok, so I want to create the following two select menus based on the following array:

<select name="size">
<option value="X879">small / medium</option>
<option value="7ABC">small / large </option>
</select>

<select name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Array

(

    [size] => Array

        (

			[X879] => Array

			(

				[0] => Array

				(

		            [item_id] => 32

		            [value] => small

		            [id] => 2

		            [aid] => 10

				)

				

				[1] => Array

				(

		            [item_id] => 32

		            [value] => medium

		            [id] => 2

		            [aid] => 14

				)

			)

			

			[7ABC] => Array

			(

				[0] => Array

				(

		            [item_id] => 32

		            [value] => small

		            [id] => 2

		            [aid] => 10

				)

				

				[1] => Array

				(

		            [item_id] => 32

		            [value] => large

		            [id] => 2

		            [aid] => 130 

				)

			)

        )
 

    [quantity] => Array

        (

            [options] => Array

			(

				[1] => Array

				(

					num => 1

				)

				

				[2] => Array

				(

					num => 2

				)

				

				[3] => Array

				(

					num => 3

				)

			)

        )

)

Open in new window

0
Comment
Question by:n00b0101
1 Comment
 
LVL 16

Accepted Solution

by:
sh0e earned 500 total points
ID: 22749101

//code may need cleaning up

foreach ($sel_arr as $sel_name => $opt_arr) {

	echo "<select name=\"{$sel_name}\"";

    if(strcmp($sel_name, "size")==0)

		foreach ($opt_arr as $opt_val => $opt2){

				echo "<option value=\"{$opt_val}\">{$opt2[0]['value']}/{$opt2[1]['value']}</option>";

		}

	else if(strcmp($sel_name, "quantity")==0)

		foreach ($opt_arr[options] as $opt_val => $opt_text)

			echo "<option value=\"{$opt_val}\">{$opt_text['num']}</option>";

	echo "</select>";

}

Open in new window

0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
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…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to count occurrences of each item in an array.

762 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

20 Experts available now in Live!

Get 1:1 Help Now