[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: передача нескольких параметров в запрос
dimonise
всем привет.
возник такой вопрос - как можно передать в запрос несколько параметров на выборку если заранее этих параметров не знаешь?

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



Спустя 8 минут, 49 секунд (5.06.2010 - 21:35) Gabriel написал(а):
$condition = array();
if ( !empty( $filter1 ) ) $condition[] = "field1 = '".$filter1."'";
if ( !empty( $filter2 ) ) $condition[] = "field2 = '".$filter2."'";

$query = "SELECT * FROM table ";
$cond = "WHERE ".implode(' AND ', $condition )."";
mysql_query( $query.$cond );

?

Спустя 4 минуты (5.06.2010 - 21:39) dimonise написал(а):
в том то и дело что я не знаю сколько у меня будет $filter !

Спустя 3 минуты, 26 секунд (5.06.2010 - 21:43) Gabriel написал(а):
как незнаеш? 100% знаеш их максимальное кл-во.

Спустя 6 минут, 57 секунд (5.06.2010 - 21:50) dimonise написал(а):
да. с количеством разобрался. только вот ошибку выдает мой запрос с имплодом -
Parse error: syntax error, unexpected T_STRING in /var/www/virtual/housemade.com.ua/htdocs/view_post.php  on line 549

Спустя 17 минут, 58 секунд (5.06.2010 - 22:08) dimonise написал(а):
блин. не работает.
в чем здесь затык?

######################################################## это выбор фильтров ##########################################
if(isset($o_uts))
{
echo "<table border='0' class='product'>
<form action='sravny.php' method='post' name='MainForm'><tr>
<td colspan='3' class='desc'>Выбор моделей для сравнения <input type='submit' value=' сравнить '>
</td>
</tr>"
;
$pod_val = array();
$i=0;

for ($i=0;$i<count($o_uts);$i++){

$pod_v = mysql_query("SELECT * FROM pod_value WHERE value LIKE". implode(' AND ','$o_uts[$i]').",$db); // выбор значений фильтров из базы в зависимости от значений сессий




while (
$pod_va = mysql_fetch_assoc($pod_v))
{

$pod_val = $pod_va['prod_id']; // дает ошибку в этой строке
$result5 = mysql_query("SELECT * FROM tovar WHERE id = $pod_val",$db); // выбор товара в соответствии с фильтрами
и так далее .....


ошибка -

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/virtual/housemade.com.ua/htdocs/view_post.php on line 555

Спустя 25 минут, 34 секунды (5.06.2010 - 22:33) vagrand написал(а):
mysql_query("SELECT * FROM pod_value WHERE value LIKE". implode(' AND ','$o_uts[$i]').",$db)

замени на

mysql_query("SELECT * FROM pod_value WHERE value LIKE". implode(' AND ','$o_uts[$i]'),$db)

Спустя 5 минут, 46 секунд (5.06.2010 - 22:39) dimonise написал(а):
вот что теперь выдает -
Warning: implode() [function.implode]: Invalid arguments passed in /var/www/virtual/housemade.com.ua/htdocs/view_post.php  on line 548

Спустя 1 час, 14 минут, 28 секунд (5.06.2010 - 23:53) Ice написал(а):
Цитата
   $pod_val = $pod_va['prod_id']; // дает ошибку в этой строке 

Ну, $pod_val - массив жеж. А как мы приваиваем массиву значения? Ай-яйяй smile.gif Вы со мной согласны? tongue.gif

$pod_val[] = $pod_va['prod_id']; 
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.