поиск из форм в MySQL

Fish

Guest
поиск из форм в MySQL

заранее извиняюсь если ответ на этот вопрос уже где-то печатался.. в поиске искал - не нашел + на выражение 'поиск в MySQL' - поиск по форуму жутко глючил и ругался и ничего нехотел показывать...

посему вопрос:
если форма, в ней инпуты:
PHP:
<input type="checkbox" name="pole1[]" value="1">
<input type="checkbox" name="pole1[]" value="2">
<input type="checkbox" name="pole1[]" value="3">
<input type="checkbox" name="pole1[]" value="4">
<input type="text" name="pole2" value="" size=5>
<input type="text" name="pole3" value="" size=5>
<input type="text" name="pole41" value="" size=5>
<input type="text" name="pole42" value="" size=5>
в MySQL'ной таблице соотв. есть поля:
mpole1
mpole2
mpole3
mpole4
как из MySQL таблицы выдрать все значения, которые:
в mpole1 может быть одно из значений pole1
в mpole2 может быть число pole2
в mpole3 может быть слово pole3
в mpole4 находиться число, значение которого от pole41 до pole42

заполнение полей не являеться обязательным, т.е. в форме некоторые поля могут быть пустыми, обязательных для заполнения нет.

из мана смог накопать что для диапазона значений использовать BETWEEN в запросе нужно..

могу выдирать mpole1 в зависимости от указ. значений,..
PHP:
$pole1=$HTTP_POST_VARS['pole1'];
for($i=0; $i<count($pole1); $i++) {
  if($pole1[$i] == $mpole1) {
  }
}
но как все остальное сделать и как все это воедино склеить?
а то получаеться что если указано одно а не указано другое - ничего вобще не выдираеться...

надеюсь неочень замудрил.

заранее сенькс за хелп
 

Fish

Guest
Тони, спасибо,.
но есть одно но:
PHP:
<input type="checkbox" name="pole1[]" value="4">
это ж массив, как его в SQL запрос запихать?
у меня мыслей нету особых, я почти все перепробовал..
а за подсказку спасиб
 

tony2001

TeaM PHPClub
если тебе лень посмотреть в ман, то:
...WHERE pole IN ('".implode("','",$pole)."') ....
 

Fish

Guest
ой...
кажись получилось,... но изврат-то какой =((((
посдкажи, это никак нельзя привести в более читабельный вид..
PHP:
$pole1=$HTTP_POST_VARS['pole1'];
for($i=0; $i<count($pole1); $i++) {
$result[]=mysql_query("SELECT * FROM table WHERE mpole1 IN (".$pole1[$i].")");
}
for($a=0; $a<count($result); $a++) {
while (($row=mysql_fetch_array($result[$a]))) {

//получаем искомые данные....
$id=($row["id"]);
echo($id);

}
}
 
Сверху