2016-11-09 9 views
0

Ich bin sehr neu in PHP und versuche, eine Praxis zu beenden. Aber ich kann nicht ich arbeite, dass es die Arrays pro ausgewählten Kontrollkästchen echo Lassen Sie uns sagen, ich wählte Schaatsen ich will sie das Array schaatsen auf dem Bildschirm zu sehen. Vielen Dank für Ihre Hilfe.PHP Echo ein bestimmtes Array pro Auswahlbox

<!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

von PHP Verschachtelungsschleife Ihre HTML-DOM-Rendering, und von JavaScript-Benutzeroberfläche Handhabung. – Benyi

+0

Entschuldigung ich verstehe dich nicht ich bin neu zu diesem! Ich muss dies nur mit PHP und HTML tun –

+0

Sie haben zwei Auswahlmöglichkeiten. Einer ist Elternteil, und der andere ist Kind. Wenn ich mich nicht irre, was du willst ist, wenn du den Elternteil auswählst, zeigt die Kinderauswahl an, oder? 'PHP' kann die Child-Auswahl nicht ändern, wenn die Eltern ausgewählt sind. Es kann nur HTML-Elemente beim Laden laden. Deshalb heißt es 'PHP Hypertext Preprocessor'. Ohne erneutes Laden können Sie nicht herausfinden, welche Benutzer in der übergeordneten Auswahl ausgewählt wurden. Zwei Möglichkeiten, 1. Übermitteln Sie das Formular mit der Methode 'GET', lesen Sie den Parameter URL für Kind. 2. Laden Sie unter Verwendung von JavaScript die untergeordnete Auswahl für das ausgewählte Elternelement neu. Und das 1. ist was du tust. – Benyi

Antwort

0

die $_GET['option'] aus dem URL-Parameter lesen und PHP sagen, was das Array verwenden wird.

<?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> 

Verwenden foreach($child as $item) für jede Option.

Siehe Referenz: PHP foreach

+0

Ggf. $ _GET ['Optionen'] 'in der leeren Situation mit 'if ($ _GET [' option ']) foreach ($ child als $ item) {'. – Benyi