2013-09-26 5 views
0

Я пытаюсь создать изменяющийся выпадающий список в php, но без базы данных. Вот что я придумал до сих порДинамический выпадающий список NON-DATABASE php

<body> 

<form method = "post"> 
<table> 

<tr> 
    <td> 
    <p>Name</p> 
    </td> 
    <td><input type="text" name="Name" /></td> 
</tr> 

<tr> 
     <td><p>State</p> 
     </td> 
     <td> 
      <select name = "State"> 
      <option value = "PA"> Pennsylvania</option> 
      <option value = "CA"> California</option> 
      <option value = "AZ"> Arizona</option> 
      <option value = "NY"> New York</option> 
      <option value = "FL"> Florida</option> 
     </select> 
     </td> 
</tr> 

    <td><input type="submit" name = "formSubmit" value="Submit" /></td> 
    </td> 
</tr> 
</table> 
</form> 

<?php 
     if(isset($_POST['formSubmit'])) 
     { 
      if(empty($_POST['Name'])) 
      { 
       echo("You forgot your name"); 
      } 

      else 
      { 

      } 
     } 
?> 

</body> 

Я планировал использовать «еще» заявление, чтобы генерировать мой второй выпадающий список, но до сих пор ничего я пытался не работал. Я искал идеи, но большая часть информации, с которой я столкнулся, касается баз данных. Это не база данных, это одна PHP-программа. Возможно, у меня неправильное представление о том, как это работает. Должен ли я попытаться вызвать функцию, которая создает форму раньше времени, или я полностью покидаю базу для того, что я пытаюсь?

+0

Какую цель ставите перед собой? Если у вас есть права на запись, нет причин, по которым вы не можете писать все, что хотите, в текстовый файл и генерировать выпадающее меню. –

+0

Вы хотите, чтобы он был динамическим, т.е. страница не загружалась? – Snowburnt

+0

Kai: Извините, идея заключается в том, когда пользователь выбирает состояние, создается или отображается другой раскрывающийся список, показывающий города, относящиеся к этому состоянию, а затем, когда они выбирают город, он будет сообщать о своих выборах. Снег: Это было бы идеально, однако на данный момент, если есть более простая альтернатива, я буду работать в этом направлении. – user2803648

ответ

0

JQuery даст вам истинный динамический результат без перезагрузки страницы. Однако, если вы хотите использовать PHP для добавления того, что находится в текстовом поле, в список значений, вы можете использовать PHP-сессию как массив для хранения значений, подобных этому.

<?php 
session_start(); 
    if(isset($_POST['formSubmit'])) 
    { 
     if(empty($_POST['Name'])) 
     { 
      echo("You forgot your name"); 
     } 

     else 
     { 
      $name = $_POST['Name']; 
      if(isset($_SESSION['List'])) 
      { 
       $index = count($_SESSION['List']); 
       $_SESSION['List'][$index+1] = $name; 
      } 
      else 
      { 
       $_SESSION['List'][0] = $name; 
      } 
     } 
    } 
    ?> 
    <body> 
    <form method = "post"> 
    <table> 

    <tr> 
    <td> 
    <p>Name</p> 
    </td> 
    <td><input type="text" name="Name" /></td> 
    </tr> 

    <tr> 
    <td><p>State</p> 
    </td> 
    <td> 
     <select name = "State"> 
     <option value = "PA"> Pennsylvania</option> 
     <option value = "CA"> California</option> 
     <option value = "AZ"> Arizona</option> 
     <option value = "NY"> New York</option> 
     <option value = "FL"> Florida</option> 
     <?php 
     if(isset($_SESSION['List'])) 
     { 
      foreach($_SESSION['List'] as $name) 
      { 
      echo '<option value="'.$name.'">'.$name.'</option>'; 
      } 
     } 
     ?> 
    </select> 
    </td> 
    </tr> 

    <td><input type="submit" name = "formSubmit" value="Submit" /></td> 
    </td> 
    </tr> 
    </table> 
    </form> 
    </body> 
+0

Я вижу. Это было не совсем то, что я собирался, но я ценю вашу помощь. Мне придется заглянуть в JQuery за то, что мне нужно. – user2803648

Смежные вопросы