2016-11-09 97 views
0

我对PHP很陌生并试图完成实践。 但我不能让我工作,它会回显数组每个复选框 假设我选择Schaatsen我希望他们看到屏幕上的数组schaatsen。 已经感谢您的帮助。PHP在每个选择框中回显某个数组

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Merijn</title> 
    </head> 
    <body> 
     <form action="" method="GET"> 
      <select name="option"> 
       <option value="schaatsen">Schaatsen</option> 
       <option value="alpineskieen">Alpineskieen</option> 
       <option value="snowboarden">Snowboarden</option>  
       <option value="ijshockey">IJshockey</option> 
       <option value="rodelen">Rodelen</option>   
      </select> 
      <input type="submit" name="submit"> 
     </form> 
     <?php 
     $evenementen = array 
     (
     "schaatsen"=>array 
       (
       "Heren 500 meter", 
       "Heren 1000 meter", 
       "Heren 1500 meter", 
       "Heren 5 Kilometer", 
       "Vrouwen 500 meter", 
       "Vrouwen 1000 meter", 
       "Vrouwen 1500 meter", 
       "Vrouwen 3000 meter" 
       ), 
     "alpineskieen"=>array 
       (
       "Slalom Mannen", 
       "Slalom Vrouwen", 
       "Reuzenslalom Mannen", 
       "Reuzenslalom Vrouwen", 
       "Super-G Mannen", 
       "Super-G Vrouwen" 
       ), 
     "snowboarden"=>array 
       (
       "Slopestyle Mannen", 
         "Slopestyle Vrouwen", 
       "Halfpipe Mannen", 
       "Halfpipe Vrouwen", 
       "Boardcross Mannen", 
       "Boardcross Vrouwen", 
       "Freestyle Mannen", 
       "Freestyle Vrouwen" 
       ), 
     "ijshockey"=>array 
       (
       "Kwalificatie Rondes", 
         "1/8 Finale", 
       "1/4 Finale", 
       "1/2 Finale", 
       "Finale" 
       ), 
     "rodelen"=>array 
       (
       "Individueel Mannen", 
         "Individueel Vrouwen", 
       "Dubbel Mannen", 
       "Dubbel Vrouwen", 
       "Teamestafette" 
       ) 
      ); 

      if(isset($_GET["option"])){ 
       $option = $_GET["option"]; 
       switch ($option){ 
        case "schaatsen": 
         echo $evenementen["schaatsen"]; 
        break; 
        case "alpineskieen": 
         echo $evenementen["alpineskieen"]; 
        break; 
        case "snowboarden": 
         echo $evenementen["snowboarden"]; 
        break; 
        case "ijshockey": 
         echo $evenementen["ijshockey"]; 
        break; 
        case "rodelen": 
         echo $evenementen["rodelen"]; 
        break; 
       } 
      } 
     ?> 
    </body> 
</html> 
+0

渲染由PHP嵌套循环您的HTML DOM,以及由JavaScript处理的用户界面。 – Benyi

+0

对不起,我不了解你,我是新来的!我需要这样做只有PHP和HTML –

+0

你有两种选择。一个是父母,另一个是孩子。如果我没有错,你想要的是当你选择父母,孩子选择显示,对吧?当选择父母时,'PHP'不能做改变孩子选择。它只能在页面加载时渲染HTML元素。这就是为什么它称为“PHP超文本预处理器”。如果没有重新加载,您无法获得用户在父项选择上选择的内容。有两种选择,1.通过'GET'方法提交表单,读取child的URL参数。 2.使用'JavaScript',重新加载选择父项的子选择。这就是你正在做的事情。 – Benyi

回答

0

阅读从URL参数$_GET['option'],并告诉PHP什么阵列将使用。

<?php 
if(isset($_GET["option"])){ 
    $option = $_GET["option"]; 
    switch ($option){ 
     case "schaatsen": 
      $child = $evenementen["schaatsen"]; 
     break; 
     case "alpineskieen": 
      $child = $evenementen["alpineskieen"]; 
     break; 
     case "snowboarden": 
      $child = $evenementen["snowboarden"]; 
     break; 
     case "ijshockey": 
      $child = $evenementen["ijshockey"]; 
     break; 
     case "rodelen": 
      $child = $evenementen["rodelen"]; 
     break; 
    } 
} ?> 

<select name="child-option"> 
    <?php foreach ($child as $item) { ?> 
     <option><?php $item ?></option> 
    <?php } ?> 
</select> 

使用foreach($child as $item)每个选项。

见参考:PHP foreach

+0

如果需要的话,可以通过if($ _GET ['option'])foreach($ child as $ item){'}在空的情况下处理'$ _GET ['options']'' – Benyi

相关问题