Простенькая динамическая генерация SQL запросов.

Camillo

Новичок
Простенькая динамическая генерация SQL запросов.

Привет.

Вопрос в следующем.

Имеется ряд чекбоксов. Основываясь на то, какие чекбоксы помечены будет генерироваться SQL запрос.
Например:

SELECT * FROM `table` WHERE `checkbox1`='1' AND `checkbox2`='1' AND `checkbox5`='1';

Есть ли универсальные способы генерации таких запросов. Где можно почитать?

Спасибо.
 

440hz

php.ru
Camillo
если чекбоксов не много, то можно все загнать в UINT и потом в SQL писать что-то типа:
SELECT * FROM tab WHERE CHECK & $CH

где $CH битовое значение суммы чекбоксов 1+2+4+8+16 ...
 

Camillo

Новичок
Автор оригинала: 440hz
Camillo
если чекбоксов не много, то можно все загнать в UINT и потом в SQL писать что-то типа:
SELECT * FROM tab WHERE CHECK & $CH

где $CH битовое значение суммы чекбоксов 1+2+4+8+16 ...
хм... хитрый приём
только, если честно, то ничего не понял :confused:
но всё равно спасибо - буду разбираться
 

Фанат

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

440hz

php.ru
Camillo

источник:

<form method=POST>
<input type=checkbox name="CH[]" value=1>
<input type=checkbox name="CH[]" value=2>
<input type=checkbox name="CH[]" value=4>
</form>

цель:

$CHSUM = 0;
if(isset($_POST['CH'])) foreach($_POST['CH'] as $VALUE) $CHSUM += $VALUE;

SELECT * FROM TAB WHERE CH & $CHSUM

где CH INT(11) UNSIGNED
 
Сверху