例如,我有
<a href="FashionDetails.php?menu_id=1"></a>
<a href="FashionDetails.php?menu_id=2"></a>
<a href="FashionDetails.php?menu_id=3"></a>
<a href="FashionDetails.php?menu_id=4"></a>
和流程页面: `$ fashion_id = $ _GET ['menu_id'];
if ($menu_id == "1") {
$id = "1";
$menu_name ="Business Fashion";
$img_file ="images/mushroomsoup.jpg";
$description ="mushroom soup";
$color ="red";
}
elseif($menu_id =="2") {
$id ="2";
$menu_name ="minestrone soup";
$img_file ="images/mine.jpg";
$description ="minestrone soup";
$color ="blue";
}
elseif($menu_id =="3") {
$id="3";
$menu_name ="carrot soup";
$img_file ="images/carrot.jpg";
$description ="carrot soup.";
$color ="green";
}
elseif ($menu_id =="4"){
$id="4";
$menu_name ="shark fin";
$img_file ="images/sharkfin.jpg";
$description ="sharkfin.";
$color ="gray";
}
echo "<h1 style='text-align: center'>Welcome to my restaurant!</h1>";
echo "<font color=$color>You have selected $menu_name</font>. Menu ID($id)<br/>";
echo "<img src='$img_file'></img><br/>";
echo "$description";
?>
” 假设我想使用array()函数而不是使用if-else语句,我该怎么办呢?我知道使用sql语句有一个更简单的方法,但我还没有被教过sql现在我只能使用php。 提前谢谢!
答案 0 :(得分:3)
您可能正在寻找switch()
构造。
从PHP手册文档:
switch语句类似于同一表达式上的一系列IF语句。在许多情况下,您可能希望将相同的变量(或表达式)与许多不同的值进行比较,并根据它所等的值执行不同的代码。这正是switch语句的用途。
因此,您的代码将如下所示:
switch ($menu_id) {
case '1':
# code
break;
case '2':
#code
break;
...
default:
# code...
break;
}
答案 1 :(得分:3)
这应该让你开始:
$menus = array(
1 => array(
'menu_name' => "Business Fashion",
'img_file' => "images/mushroomsoup.jpg",
'description' => "mushroom soup",
'color' => "red"
),
2 => array(
'menu_name' => "minestrone soup",
'img_file' => "images/mine.jpg",
'description' => "minestrone soup",
'color' => "blue"
),
);
// Print out the menu name for menu ID #1
echo $menus[$menu_id]['menu_name']; // Business Fashion
基本上,您将菜单项放在一个数组(数组)中,然后使用您从查询字符串中获取的菜单ID访问它们。
要将它放入表中,您将使用一个简单的循环:
foreach ($menus as $id => $menu) {
?>
<tr>
<td><?php echo $menu['menu_name']; ?></td>
<td><?php echo $menu['img_file']; ?></td>
<td><?php echo $menu['description']; ?></td>
<td><?php echo $menu['color']; ?></td>
</tr>
<?php
}
你显然需要改变它以满足你的需要,但应该给你的想法。如果您需要菜单ID,则只需回显$id
。
答案 2 :(得分:2)
你可以这样做:
$menu = array(
"1"=>array(
"id"=>1,
"menu_name"=>"shark fin";
...
)
...
)
然后使用$entry = $menu[$menu_id]
获取条目,使用$id = $entry["id"]
等获取部分。不要忘记确保$menu_id
实际上有效。您可以轻松输入<a href="FashionDetails.php?menu_id=6"> </a>
。 (奇怪的是,BTW。)
学习PHP的好运!
答案 3 :(得分:1)
您可以使用switch case语句。 http://www.php.net/manual/en/control-structures.switch.php