我在下拉菜单中列出了一个国家/地区列表,选中后,将数据过滤到该国家/地区内的帖子。
问题
我在select
输入框中有一个'全部'选项,但不知道如何使用PDO检索所有数据。
我遇到的问题是使用PDO绑定数据。如何配置它以便它可以接受所有值?
[注意:数据来自jquery AJAX
]
代码
// HTML
<select name ="Country">
<option value="">All</option>
<option value="United Kingdom">United Kingdom</option>
/* the rest **/
</select>
// PHP
// {$conn->tbl_Table} is a reference to a key linking to a value table
$fetchQ = $conn->dbConn->prepare("
SELECT *
FROM {$conn->table_Table}
WHERE
Country :Country");
$fetchQ->execute(array(
"Country"=>$_POST['Country']
));
答案 0 :(得分:0)
不要对所有国家/地区进行查询,只需从查询中删除国家/地区参数,例如
SELECT * FROM `table` WHERE `country` = 'IDHERE';
变为
SELECT * FROM `table`;
答案 1 :(得分:0)
只需使用简单的if
块
if(!empty($_POST['Country'] ) && $_POST['Country'] != "All"){
$fetchQ = $conn->dbConn->prepare("
SELECT *
FROM {$conn->table_Table}
WHERE
Country :Country");
$fetchQ->execute(array(
"Country"=>$_POST['Country']
));
}else{
$fetchQ =$conn->dbConn->prepare(" SELECT * FROM {$conn->table_Table}");
$fetchQ->execute();
}
答案 2 :(得分:0)
$SQLString = "SELECT * FROM ".$conn->table_Table;
$country_id = $_POST['Country']!="" ? 'WHERE country = '.$_POST['Country'] : '';
$fetchQ = $conn->dbConn->prepare($SQLString.$country_id)