Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: как сделать фильтр с тремя селектами

Сообщения:  [1-10]   [11-20] 

 
 автор: sim5   (15.05.2008 в 12:08)   письмо автору
 
   для: kuzya13   (15.05.2008 в 10:43)
 

Скорее всего не так объясняете, уж если на то пошло. А зря вы не захотели сделать простое и посмотреть, что вы получаете, ибо такого:
if($_POST['searchField[]']=="1" ) {....
вы би не писали тогда. Я от вас так и не узнал, что предстваляют ваши списки. Допустим, вы имеете два списка с одним именем (как в примере два первых), а вот что вы получите, если выбор будет в двух списках:

Array
(
    [as] => Array
        (
            [0] => 2
            [1] => 6
        )

)

Как вы думаете, получите ли вы эти значения, если будете проверять так, как вы это делаете? Если говорить о примере, то чтобы узнать, что я получаю из первого списка, то надо проверять $_POST['as'][0], второго $_POST['as'][1]... Так что думать надо и если не можете объяснить или не понимаете, то не стоит брезговать простыми примерами.

   
 
 автор: kuzya13   (15.05.2008 в 10:43)   письмо автору
 
   для: sim5   (14.05.2008 в 20:15)
 

или вы не понимаете меня, или я не так объясняю
Я вам уже сказал, что мне просто нужно, один sql запрос написать, ваше дамошнее задание оставте для школьников

   
 
 автор: mihdan   (14.05.2008 в 22:51)   письмо автору
 
   для: kuzya13   (14.05.2008 в 15:24)
 

Связанные списки

   
 
 автор: sim5   (14.05.2008 в 20:15)   письмо автору
 
   для: kuzya13   (14.05.2008 в 18:59)
 

Еще раз повторяю - [] в имени означает, что это массив значений опшенов списка с мультивыбором, либо это несколько списков с одним именем (массив списков). И принимать его надо, в вашем случае, как $_POST['searchField'], без указания [], если только это не многомерный массив списков. Вы сперва разберитесь с этим, потому как вы будете получать два значения массива (или более), что никак вам не позволит четко определить в условии - что делать.
Вы по приему формы выведите в браузер весь получаемый вами массив POST, и посмотрите что вы получаете:
print_r($_POST);

Собственно по вашему примеру не видно - где тут сравнение о котором вы говорили?

PS. В общем вот вам домашнее задание. )) Создайте маленький файлик test.php и поместите в нем следующее:

<form action="" method="post">
<select name="as[]">
<option value="1">111</option>
<option value="2">222</option>
<option value="3">333</option>
</select>
<select name="as[]">
<option value="4">444</option>
<option value="5">555</option>
<option value="6">666</option>
</select>
<select name="as2[]" multiple>
<option value="1">111</option>
<option value="2">222</option>
<option value="3">333</option>
</select>
<input type="submit" value="Send">
</form>
<?php
print "<pre>";
print_r($_POST);
print 
"</pre>";
?>

В данном примере в форме три списка. Два первых объденены в массив as, а третий список, это список с мультивыбором. Запустите скрипт на исполнение, выбирайте значения списков и смотрите, что вы будете получить из формы. Уясните себе это. Мне кажется у вас проблемы как раз в этой плоскости.

   
 
 автор: kuzya13   (14.05.2008 в 19:00)   письмо автору
 
   для: kuzya13   (14.05.2008 в 18:59)
 

или же с помощью switch($_POST["]){
case 0: $sql .= "";break; ???????????????

   
 
 автор: kuzya13   (14.05.2008 в 18:59)   письмо автору
 
   для: sim5   (14.05.2008 в 18:54)
 

да
вроде такой функции

if($_POST['searchField[]']=="1" ){
$sql = "SELECT имя поля FROM таблица ";
}

   
 
 автор: sim5   (14.05.2008 в 18:54)   письмо автору
 
   для: kuzya13   (14.05.2008 в 18:51)
 

Так вы вопрос, видимо, не так задали. Я понимаю вас так - вам нужно отметить опшен (или опшены) последующего списка, в зависимости от выбранных значений предыдущего списка, при формировании списков? Либо просто сравнить значение опшена (опешенов, в этом случае могут быть неоднозначные ситуации) двух списков?

   
 
 автор: kuzya13   (14.05.2008 в 18:51)   письмо автору
 
   для: sim5   (14.05.2008 в 18:41)
 

мне не понятна сама логика, получить и передать данные не проблема.
получатеся если в первом селекте = 1, то выбираются поля с одного поля, затем сравнивается с селектом вторым при помощи логических оператор, вписывается результат стравнения, при нажатии на кнопку должен выводится результат. я не знаю как это все реализовать

   
 
 автор: sim5   (14.05.2008 в 18:41)   письмо автору
 
   для: kuzya13   (14.05.2008 в 18:36)
 

При нажатии кнопки SUBMIT, это уже отправка формы на сервер, поэтому принимайте на сервере значения и делайте с ними что хотите. Вы не знаете как получить данные списка на сервере, или получаете данные, но не знаете как их вывести?

   
 
 автор: kuzya13   (14.05.2008 в 18:36)   письмо автору
 
   для: sim5   (14.05.2008 в 18:32)
 

Помогите сделать фильтр с тремя селектами, например, когда выберем Тип - Номер, Сравнение - =, вписывается результат , при наэатии кнопки submit, должен выводится результат. подскажите как?

   

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования