[英]Use jQuery/Ajax to filter PHP SELECT query with dropdowns
我正在嘗試使用jQuery / Ajax和PHP / MySQL創建過濾器。
我在HTML中有4個下拉列表選擇,我想要實現以下功能:
當Ajax成功發布數據時,我的PHP文件將檢查值是否為空,因此每個下拉列表都會在SELECT查詢中添加“ AND”語句,例如:
SELECT * from properties WHERE property_id = '$property_id' AND dropdown_value = '$dropdown_value' AND dropdown_value2 = '$dropdown_value2'
因此,我可以設置所有變量,然后只檢查發布的值是否為空,因此,如果為空,則根本不添加查詢語句。
這可能嗎?
謝謝。
編輯
當前代碼:
$statements = array();
if (isset($_POST['segmento'])) {
$segmento_query = $_POST['segmento'];
$statements[] = " AND property_details.segmento = '$segmento_query' "; //condition for each property
}
if (isset($_POST['cidade'])) {
$cidade_query = $_POST['cidade'];
$statements[] = " AND property_details.cidade = '$cidade_query' ";
}
$filtraSegmento = "SELECT * FROM properties, property_complements, property_details WHERE property_complements.imovel_id = properties.property_id AND property_details.imovel_id = properties.property_id $statements";
你有沒有嘗試過:
$statements = array();
if (isset($POST['param1']) {
$param1 = $POST['param1'];
$statements[] = " property1 = '$param1' "; //condition for each property
}
if (isset($POST['param2']) {
$param2 = $POST['param2'];
$statements[] = " property2 = '$param2' ";
}
//.....more.....
$sql = "SELECT * FROM tbl WHERE ". implode('AND', $statements);
//do something here
編輯 :使用$statements
作為字符串
$statements = '';
if (isset($_POST['segmento'])) {
$segmento_query = $_POST['segmento'];
$statements .= " AND property_details.segmento = '$segmento_query' "; //condition for each property
}
if (isset($_POST['cidade'])) {
$cidade_query = $_POST['cidade'];
$statements .= " AND property_details.cidade = '$cidade_query' ";
}
$filtraSegmento = "SELECT * FROM properties, property_complements, property_details WHERE property_complements.imovel_id = properties.property_id AND property_details.imovel_id = properties.property_id $statements";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.