тут у меня проблема - куда теперь ставить WHERE?Автор оригинала: SelenIT
Когда ты отправишь форму с полями cat[1], ... , cat[35], в твой скрипт придет готовый массив $cat(1=>1, 3=>1, ... 28=>1) (к примеру) - там, где были отмеченные чекбоксы, будут единицы, остальные просто не передадутся.
А потом делаешьА с учетом ограничения строки можно давать полям формы более короткие имена - например, не cat[1], а просто c[1], тогда останется больше места для значений.PHP:foreach($cat as $number=>$value) { if ($value==1) $catsel2 = " $globalpre associated like '%$number-%' or topic='$number' "; } }
РНР=НюкАвтор оригинала: BRat
случаем не на мамбе пишешь?
там в action надо " ставить, а затем добавлять в форму строку
<input type=hidden name=option value=com_bla>
а для тех кто в поезде, можно?Автор оригинала: SelenIT Конечно, не $catsel2, а либо сразу дописывать новые условия к запросу, либо собирать условия в массив, а потом склеить его в строку с помощью implode.
? Это как сделать?Надо проверять содержимое $cond[] перед
вставкой в $query
$cond = explode("/",$cat);
foreach($cond as $number=>$value) {
echo "$cond[$number]";
if ($value==1) $cond[] = " associated like '%$value-%' or topic='$value' "; }
$qdb = " WHERE sid!='0' and (".implode('$search_type',$cond).") ";
$sql= "select a.associated as associated, a.pictogram as pictogram, a.newshot as newshot, a.game_id as game_id, a.sid as sid, a.aid as aid, a.title as title, a.time as time, a.hometext as hometext, a.topic as topic, a.informant as informant, a.notes as notes, b.topictext as topictext, b.topicid as topicid";
$sql.=" from ".$prefix."_stories as a ";
$sql.= " left join ".$prefix."_topics as b ";
$sql.= " on (a.topic=b.topicid) ";
$sql.=" $qdb ORDER BY sid DESC limit $offset, $storynum";
$result = $db->sql_query($sql);
1 associated like '%1-%' or topic='1' select a.associated as associated, a.pictogram as pictogram, a.newshot as newshot, a.game_id as game_id, a.sid as sid, a.aid as aid, a.title as title, a.time as time, a.hometext as hometext, a.topic as topic, a.informant as informant, a.notes as notes, b.topictext as topictext, b.topicid as topicid from nuke_stories as a left join nuke_topics as b on (a.topic=b.topicid) WHERE sid!='0' and (1$search_type associated like '%1-%' or topic='1' ) ORDER BY sid DESC limit 0, 15
Вот так: ?cat[1]=1&cat[2]=1&...&cat[34]=1.Как например сделать чтобы из строки браузера читалось ?cat1?cat2?cat ... как форма впишет в строку бразера значения?