Jump to content

Need help turning contents of an array into a radio button form


snow

Recommended Posts

Hi php freaks!

 

My problem is I have this array here in menu-data.php:

<?php

$days = array();

function myarray()
{
global $days;
$days = array
	(
  		"Monday"=>array
  			(
  			"Chicken Burger"=>array("$5.00"),
  			"Veal Schnitzel"=>array("$7.50"),
  			"Onion Rings"=>array("$3.00"),
  			"Hot Potato"=>array("$4.00")
  			),
  		"Tuesday"=>array
  			(
  			"Steak Sandwich"=>array("$10.00"),
  			"Chicken Pasta"=>array("$4.50"),
  			"Pork Chop"=>array("$6.50"),
  			"Taco"=>array("$1.50")
  			),
  		"Wednesday"=>array
  			(
  			"Chicken and Chips"=>array("$5.00"),
			"Beef Casserole"=>array("$6.50"),
  			"Sausage"=>array("$1.50"),
  			"Lasagne"=>array("$3.50")
  			),
  		"Thursday"=>array
  			(
  			"Fish and Chips"=>array("$5.00"),
  			"Tuna Pattie"=>array("$2.50"),
  			"Chicko Roll"=>array("$2.80"),
  			"Hot Dog"=>array("$3.00")
  			),
   		"Friday"=>array
  			(
  			"Nachos"=>array("$5.50"),
  			"Salad Sandwich"=>array("$4.00"),
  			"Macaroni Cheese"=>array("$3.50"),
  			"Bacon and Eggs"=>array("$7.50")
  			)
	);

}

?>

 

I then use this array to print out a menu in another web page called "print-menu.php" in the form of:

 

Day 1:

Meal 1 - Price

Meal 2 - Price

Meal 3 - Price

etc....

 

Using this code:

<?php

include("menu-data.php");
myarray();

// Print menu. 
echo "<h1><u>Menu</u></h1>";

foreach ($days as $day => $meals)
{
echo "<li><b>" . $day . "</b><ul>";

foreach ($meals as $meal => $costs)
	{
		echo "<li>" . $meal . " ";

		foreach ($costs as $cost)
			{
				echo "- " . $cost . "</li>";
			}
	}

echo "</ul></li>";
}

?>

<a href="enter.php">Place an order!</a>

 

enter.php then brings up a series of radio buttons assigned to the values of the DAYS in the array.

e.g.

 

o Monday

o Tuesday

etc...

 

Using this code:

<?php

session_start();

include("menu-data.php");
myarray();


echo "Please select the day you would like to eat:<br /><br />";
// Loop through and display each day as a radio button.
foreach ($days as $day => $meals)
{

echo "<input type=\"radio\" name=\"day\" value=\"" . $day . "\">" . $day;
echo "<br />";
}

?>

 

They then pick their day they want to eat, now what I want to know is how I can use the day they choose, so when they submit it, the next page (select_meal.php) prints out just the menu for that day from the original array in the form of radio buttons, eg say they choose monday it will display:

 

Monday

o Chicken Burger $5.00

o Veal Schnitzel $7.50

o Onion Rings $3.00

o Hot Potato $4.00

where o = a radio button.

 

I had this working with the array using the following code, however it now doesn't work anymore since I added prices to my array:

<form action="order.php" method="post">

<?php

session_start();

include("menu-data.php");
myarray();

$_SESSION['day'] = $_POST['day'];
$_SESSION['time'] = $_POST['time'];
$_SESSION['delivery'] = $_POST['delivery'];


echo "<h3>Please select your meal for " . $_SESSION['day'] . ":</h3>";
$day = $_SESSION['day'];
$dayMenu = $days[$day];
foreach ($dayMenu as $item):
    echo "<input type=\"radio\" name=\"meal\" value=\"" . $item . "\">" . $item . "<br />"; // outputs "Chicken Burger
endforeach;



echo "<br />";

?>

<input type="submit" value="Place order!" />

 

I know this must be alot to take in but I really need help it's summative and due very soon!

 

If I haven't made much sense please tell me.

 

Thanks everyone in advance.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.