Значит смотри... Допустим у тя в таблице 3 поля - Id, Name, Description...
Так вот, вводишь три переменные:
$where_id, $where_name, $where_description
где
PHP |
$where_id = " id = '$id' " $where_name = " name = '$name' " |
и т.д.
затем смотришь заполненны ли тестовые поля, соответствующие переменным $id, $name , а затем на основе этого определяешь, пустые или нет переменные $where_id, $where_name, $where_description:
Например
PHP |
if ($id !== "") $where_id = " id = '$id' AND "; else $where_id == ""; |
И так для остальных...
Затем формируешь на основе этого запрос СЕЛЕКТ:
PHP |
$sql = "SELECT * FROM table_name ";
if (($where_id !== "")||($where_name !== "")||($where_description !== "")) $sql .= " WHERE ";
$sql .= " " . $where_id . " "; $sql .= " " . $where_name . " "; $sql .= " " . $where_description . " "; |
Затем получается что по-любому на конце запроса присутсвует ненужная нам AND... Убираем ее при помощи substr_replace(убираем последние 4 символа - последний AND и пробел):
PHP |
$sql = substr_replace($sql, ' ', -4); |
Должно работать