2016-12-23 5 views
0

Я создаю форму, в которой выпадающий список будет создан на основе выбора переключателя.Фильтровать записи на основе выбора переключателя

имена

Form image

Журнал хранится в таблице с типом как 1 или 2. При выборе кнопки радио журнал, фильтр для типа журнала будет 1 и для другого это будет 2. Я использую следующий код для создания формы.

<?php 
    $ctype = 1 // $ctype created for filtering purpose 
?> 

<p> Article For: 
    Journal <input type="radio" name="article_for" value="Journal" id="article_journal" /> 
    Conference <input type="radio" name="article_for" value="Conference" id="article_conference" /> 
</p> 

<?php 
    // $ctype will depend upon selection from radio button. If selection is "Journal" 
    // value of $ctype to set 1 otherwise to set 2. 
    $selectrecord = "SELECT `content_id`, `content_type`, `content_name` FROM `content` where `content_type` = $ctype"; 
    $result = mysqli_query($connection,$selectrecord) or die(mysqli_error($connection)); 
?> 

<p> Journal Name: 
    <select name='content_id'> 
     <?php 
      while ($row = $result->fetch_assoc()) { 
       unset($id, $name); 
       $id = $row['content_id']; 
       $name = $row['content_name']; 
       echo '<option value="'.$id.'">' . $name . '</option>'; 
      } 
     ?> 
    </select> 
</p> 

можно проверить кнопку выбранного радио с кодовым набором как

if(document.getElementById('article_journal').checked) { 

Но в этом случае положение, я не могу присвоить значение переменной $ CType - которая используется для фильтрации имена для раскрывающегося списка.

Просьба помочь мне узнать, что я делаю неправильно.

С уважением.

+0

Это невозможно, потому что javascript только на стороне клиента, только на стороне php-сервера. То, что вы ищете, - __ajax__. Или вы можете отправить форму и перезагрузить страницу, чтобы получить соответствующие значения (проще, но не так удобно). – Jeff

+1

Благодаря @Jeff, это также пришло ко мне, поскольку я, возможно, не думаю о правильном пути. Спасибо за подсказку. –

+0

Так что лучший способ - начать ajax-звонок, когда изменится одно из радиостанций. Вызвать php-скрипт с выбранным значением, сгенерировать нужный список в php-скрипте и получить, что в обратном вызове ajax-success, а затем вставить в html. – Jeff

ответ

0

Наконец-то я решил создать несколько страниц, где связанные поля физически расположены в форме довольно далекой. Переменные POST решили проблему. Там, где они находятся рядом друг с другом, я использовал jQuery для фильтрации параметров.

+0

Моя проблема решена, но я не знаю, как отметить этот вопрос как «Решенный». –