2015-07-08 2 views
2

Моего MultiSelect ящик создается следующим образом:Как получить значения MULTISELECT поля в PHP

<?php 
    ini_set('display_errors',"1"); 

    $select = '<select multiple>'; 

    $lines = file('project-list.txt'); 
    $fifth_column = array(); 
    foreach ($lines as $line){ 
     $parts = preg_split('/\s+/', $line); 
     $count = 0; 
     foreach ($parts as $partVal){ 
      if ((in_array($partVal, $fifth_column) == FALSE) && $count == 4){ 
       $fifth_column[] = $partVal; 
      } 
      $count++; 
     } 
    } 

    foreach($fifth_column as $value){ 


     $select .= "<option value='".$value."'>".$value."</option>"; 
    } 

    $select .= '</select>'; 

    echo $select; 





?> 
<form action="" form method="post"> 
<input type="submit" class="ym-button ym-small" name = "Apply" style="margin-top:1em;max-width:11em" value="Apply" /> 
</form> 

Я хочу, чтобы иметь возможность видеть то, что пользователь выбрал в окне, когда кнопка применяется нажат, я хотите использовать эту информацию для поиска в файле project-list.txt значения, которое они выбрали, а затем отобразить строки, которые содержат это значение. Я пытаюсь использовать isset ($ _ GET), но у моего окна выбора нет имени.

ДОБАВЛЕНО:

Например:

Если мой список коробка содержит: item1 item2 item3 item4

и пользователь выбирает item1, я хочу найти в текстовом файле с именем project-list.txt для item1 и распечатать эту строку. Так что мой текстовый файл может выглядеть следующим образом:

xxxx hallone item 1 
xxxx halltwo item 2 
xxxx hallthree item 3 
xxxx hallfour item 1 

После того как я нажал на кнопку Применить, после выбора ITEM1 результаты должны быть размещены, которые были бы:

xxxx hallone item 1 
xxxx hallfour item 1 
+2

Дайте атрибут 'select'tag a' name = "something" и поместите его в элемент 'form'. – Kamehameha

+0

Вы получаете значения по их имени и отправив им форму и кнопку отправки. Итак, ** укажите имя для своего выбора и поместите его в свою форму ** – Hearner

ответ

1

попробуйте этот код

<form action="" method="post"> 
    <?php 
     ini_set('display_errors',"1"); 

     $select = '<select multiple name = "project[]">'; // give name attribute to your select box 

     $lines = file('project-list.txt'); 
     $fifth_column = array(); 
     foreach ($lines as $line){ 
      $parts = preg_split('/\s+/', $line); 
      $count = 0; 
      foreach ($parts as $partVal){ 
       if ((in_array($partVal, $fifth_column) == FALSE) && $count == 4){ 
        $fifth_column[] = $partVal; 
       } 
       $count++; 
      } 
     } 

     foreach($fifth_column as $value){ 


      $select .= "<option value='".$value."'>".$value."</option>"; 
     } 

     $select .= '</select>'; 

     echo $select; 





    ?> 
    <input type="submit" class="ym-button ym-small" name = "Apply" style="margin-top:1em;max-width:11em" value="Apply" /> 
    </form> 
<?php 
if(isset($_POST) && !empty($_POST['project'])){ 
    print_r($_POST['project']); 
} 
?> 
+0

есть ли способ, которым я могу поместить значение «проект» в переменную? Поэтому я могу использовать это для поиска в текстовом файле? Спасибо @Dhinju Divakaran – Amy

+0

Да вы можете поместить '$ project = $ _POST ['project']' обратите внимание, что это массив. Если этот ответ полезен, тогда примите этот ответ –

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