определить какие checkbox отмечены и вывести соответствующие записи из БД
Здравствуйте.Есть несколько checkbox-ов, значения которых(отмечены они или нет) отправляются в файл index.php.В этом файле должны выводиться данные отмеченных checkbox-ов из базы .Например при отмеченном/**
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
*/
.html4strict.geshi_code {font-family:monospace;}
.html4strict.geshi_code .imp {font-weight: bold; color: red;}
.html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;}
.html4strict.geshi_code .kw3 {color: #000066;}
.html4strict.geshi_code .es0 {color: #000099; font-weight: bold;}
.html4strict.geshi_code .br0 {color: #66cc66;}
.html4strict.geshi_code .sy0 {color: #66cc66;}
.html4strict.geshi_code .st0 {color: #ff0000;}
.html4strict.geshi_code .nu0 {color: #cc66cc;}
.html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;}
.html4strict.geshi_code .sc0 {color: #00bbdd;}
.html4strict.geshi_code .sc1 {color: #ddbb00;}
.html4strict.geshi_code .sc2 {color: #009900;}
.html4strict.geshi_code span.xtra { display:block; }
<input type="checkbox" name="a" />
выводятся все строки в которых имеется запись к примеру г.Москва.
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }
<form action="index.php" method="post">
<input type="checkbox" name="a" />
<input type="checkbox" name="b" />
<input type="checkbox" name="c" />
<input type="checkbox" name="d" />
<input type="submit" value="Найти" />
</form>
С одним или двумя checkbox-ами проблем не возникает,но если их больше то код будет просто огромен.
<input type="checkbox" name="a" />
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }
<form action="index.php" method="post">
<input type="checkbox" name="a" />
<input type="checkbox" name="b" />
<input type="checkbox" name="c" />
<input type="checkbox" name="d" />
<input type="submit" value="Найти" />
</form>
С одним или двумя checkbox-ами проблем не возникает,но если их больше то код будет просто огромен.
1 ответов
<input type="checkbox" name="params[]" value="a" />
<input type="checkbox" name="params[]" value="b" />
<input type="checkbox" name="params[]" value="c" />
<input type="checkbox" name="params[]" value="d" />
$vals = array('a','b','c','d');
// Если все отметить и отправить будет такой массив
$params = $_POST['params']; // array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
foreach( $params as $i => $v ){
if( !in_array($v, $vals) ){
unset($params[i]);
}
}
$sql = "SELECT * FROM `table` WHERE `param` IN(".@implode(",",$params).") ORDER BY `ordering` ASC LIMIT 100";
// ...