데이터베이스의 테이블로 html 페이지를 채 웠습니다. 불필요한 데이터를 걸러 낼 수있는 상단의 드롭 다운 상자를 추가하고 싶습니다. 여러 변수로 데이터를 필터링 할 수 있도록 쿼리를 만들기 위해이 정보를 데이터베이스로 보내는 방법은 무엇입니까?드롭 다운 상자를 사용하여 MYSQL 데이터 필터링
예를 들어 A, B, C, D 및 E의 5 가지 범주가 있습니다. PHP 코드를 사용하여 A, B, C, D 및 E에 가능한 값/항목을 채 웁니다. 또한 사용자가이 열을 필터의 일부로 포함하지 않으려는 경우를 대비하여 "NULL 항목"을 추가했습니다.
그래서 지금은 약자로, 각각의 컬럼에 대해 우리가 할 수
Apple, always, as, amazing, as, almonds, NULL.
Belly, boosts, bad, NULL.
Candy, can, create, NULL.
Dandy, does, do, don't, NULL.
Elements, exist, NULL.
어떻게 변수가 무기한있는 데이터베이스에 정보를 보내는 가겠어요? 그들은 설정 될 수도 있고 설정되지 않을 수도 있습니다.
나는 isset()을 사용하여 변수가 처음 설정 되었는지를 먼저 보았지만 그곳에서 어떻게 진행하겠습니까? 그것은 'if'진술처럼 보인다. 사용자가 입력 한 변수 값을 기반으로 쿼리를 변경하기 만하면됩니다. 그러나 나는 그렇게 쉬운 방법을 보지 못합니다.
"WHERE A = this AND B = that AND C = thisthat AND .."를 쿼리 끝에 추가하지만 하나 이상의 항목 또는 모든 항목이 null 인 경우 어떻게됩니까?
도움을 주셔서 감사합니다.
$where = array();
if ($A != '')
{
$where[] = 'A = "' . $A . '"';
}
if ($B != '')
{
$where[] = 'B = "' . $B . '"';
}
if ($C != '')
{
$where[] = 'C = "' . $C . '"';
}
if ($D != '')
{
$where[] = 'D = "' . $D . '"';
}
if ($E != '')
{
$where[] = 'E = "' . $E . '"';
}
// Now get the $where
$final_where = '';
if (count($where) > 0)
{
$final_where = implode(' AND ', $where);
}
// $final_where will contain
// A = 'ab' AND B = 'cd' etc.
참고 입력을 소독 할 수 있는지 확인하십시오를 다음과 같이