Доступ к массиву полученого от массива checkbox

я жу сделал это, просто меня интересует можно ли так сдклать или нет, и правельно ли так
 
покажи, как ты сделал

ответить тебе невозможно, поскольку запроса никакого ты опять не привел.
если же тебя интересует синтакис запросов такого типа, то уточняй его в документации. логично?
 
Вот:
PHP:
elseif(empty($_REQUEST['proiz']) )
						{
						
							for($i=0;$i<count($_REQUEST['categ']);$i++)
							{
								echo'or id_categor='.$_REQUEST['categ'][$i];
							}

-~{}~ 06.03.07 16:24:

выводит следующие:
or id_categor=1 or id_categor=4
 
вот видишь - не сделал.
доделывай

-~{}~ 06.03.07 16:29:

к тому же, тебе надо это не в браузер выводить, а в переменную записать

-~{}~ 06.03.07 16:29:

но направление верное
 
в смысли не доделал, скажи плиз что именно, а на счет переменной я знаю, что ее надо туда
 
ну когда же ты поймёшь, мальчик?
что проверять должен ТЫ САМ

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

а я тебе показываю, как сделать с in красиво и безопасно

идёт?
 
ок

-~{}~ 06.03.07 18:14:

Фанат
можешь подсказать.
вот мой код:
PHP:
for($i=0;$i<count($_REQUEST['categ']);$i++)
{
$str='id_categ='.$_REQUEST['categ'][$i].'or';
}

Выводит он следующие:
id_categ=1 or id_categ=2 or id_categ=4 or

но где id_categ=4 это последний элемент и там OR не уместен.
как быть. Подскажи плиз.
 
sahnovich
1.
php.net/language.operators.string
php.net/language.operators.assignment
2.
Выводит он следующие:
id_categ=1 or id_categ=2 or id_categ=4 or

но где id_categ=4 это последний элемент и там OR не уместен.
как быть. Подскажи плиз.
Если $i == ключу последнего элемента массива, то не присоединять or, иначе ...
 
sahnovich
можно использовать оператор substr() чтобы отрезать ненужный or
 
sahnovich
($i == $array_size - 1) ? "," : ")" - это в случае с IN.

Да и зачем ты присваиваешь, если тебе строки "склеивать" нужно? По ссылкам выше об этом написано.
 
sahnovich
хм. и правда.
твой последний код просто не может ничего выводить.
там нет ни одного оператора вывода.
давай ты, всё-таки, напишешь хоть один раз законченый, рабочий код, который работает точно так, как ты пишешь на словах?
 
помострите плиз не могу понять в чем дело:
PHP:
$sql='SELECT * FROM product where ';
for($i=0; $i<count($_REQUEST['categ']);$i++)
{
$sql.='id_categ='.$_REQUEST['categ'][$i].' or ';
}
Выводет следующие: SELECT * FROM product where id_categ=1 or SELECT * FROM product where id_categ=1 or id_categ=2 or SELECT * FROM product where id_categ=1 or id_categ=2 or id_categ=4 or:
 
sahnovich
основную часть прицепляй к условию после цикла. а не до.

-~{}~ 06.03.07 21:04:

sahnovich
смотри - сейчас у тебя 'SELECT * FROM product where цепляется к стороке ПРИ КАЖДОМ проходе цикла.
в уикле приписывай не к $sql а к другой переменной. скажем, $where
а потом прицепишь $where к $sql
 
Фанат
да нет, он просто echo внутрь цикла запихнул:)
 
PHP:
for($i=0;$i<count($_REQUEST['categ']);$i++)
{
 $where='id_categ='.$_REQUEST['categ'][$i].' or ';
}							
$sql='SELECT * FROM product where';

$sql.=$where;
print ($sql);

Выводит он воттакую вот шляпу:
SELECT * FROM product whereid_categ=4 or
 
Сверху