Ligesom alle de andre indlæg bliver du nødt til at tilføje alle betingelserne OG synes godt om. Dette er det reneste svar hidtil. Husk at undslippe dine strenge, men brug mysqli OOP-måden i stedet for den gamle mysql. Bare et forslag.
Her er et eksempel på en typisk forespørgsel.
Den korrekte måde:
SELECT * FROM donar WHERE name='dxenaretionx' AND sex='M';
Sådan gør du det
SELECT * FROM donar WHERE name='dxenaretionx' sex='M';
Kode:
function search_donar($_POST) {
$by_name = $_POST['by_name'];
$by_sex = $_POST['by_sex'];
$by_group = $_POST['by_group'];
$by_level = $_POST['by_level'];
//Do real escaping here
$query = "SELECT * FROM donar";
$conditions = array();
if(! empty($by_name)) {
$conditions[] = "name='$by_name'";
}
if(! empty($by_sex)) {
$conditions[] = "sex='$by_sex'";
}
if(! empty($by_group)) {
$conditions[] = "blood_group='$by_group'";
}
if(! empty($by_level)) {
$conditions[] = "e_level='$by_level'";
}
$sql = $query;
if (count($conditions) > 0) {
$sql .= " WHERE " . implode(' AND ', $conditions);
}
$result = mysql_query($sql);
return $result;
}