Tôi đang cố tạo tùy chọn tìm kiếm/lọc trong ứng dụng hiến máu của mình. Nơi người hiến tặng có thể được tìm kiếm theo giới tính, tên, nhóm máu hoặc bằng cách chọn cả ba. Đây là mã của tôiLọc tìm kiếm bằng PHP/MySQL
function search_donar($_POST) {
$by_name = $_POST['by_name'];
$by_sex = $_POST['by_sex'];
$by_group = $_POST['by_group'];
$by_level = $_POST['by_level'];
$search_query = "SELECT * FROM donar WHERE";
if($by_name !="") {
$search_query .= " name='$by_name'";
}
if($by_sex !="") {
$search_query .= " sex='$by_sex'";
}
if($by_group !="") {
$search_query .= " blood_group='$by_group'";
}
if($by_level !="") {
$search_query .= " e_level='$by_level'";
}
$search_query;
$result = mysql_query($search_query);
return $result;
}
Và đây là html
if(isset($_POST['submit'])) {
$retrived_result = $donar->search_donar($_POST);
}
<form action="" method="post">
<table width="100%" border="0" style="border:none;">
<tr>
<td><label>Name: </label><input type="text" name="by_name" /></td>
<td><label>Sex: </label><input type="text" name="by_sex" /></td>
<td><label>Blood Group: </label><input type="text" name="by_group" /></td>
<td><label>Level: </label><input type="text" name="by_level" /></td>
<td><input class="button" type="submit" name="submit" value="Search" /></td>
</tr>
</table>
</form>
Độc lọc hoạt động rất tốt. Nhưng để lọc với tất cả tôi đã sử dụng VÀ, nhưng nó mang lại cho tôi lỗi. Có ai giúp được không ?
Cảm ơn trước
lỗi gì nó cung cấp cho bạn ...? – Menztrual
Xin vui lòng ít nhất là thoát khỏi dữ liệu của bạn trong khi tìm kiếm trong cơ sở dữ liệu với 'mysql_real_escape_string ($ _ POST ['by_name']); 'Chúng tôi khuyên bạn nên sử dụng mysqli_ * hoặc PDO thay vì mysql_ * –
Biến' $ donar' trong câu hỏi của bạn ? –