0

我在下拉列表中有一个国家列表,选择该列表后,将数据过滤到该国家/地区的帖子。

问题

我在select输入框中有一个“全部”选项,但不确定如何使用 PDO 检索所有数据。

我遇到的问题是使用 PDO 绑定数据时。如何配置它以便它可以接受all值?

[注:数据来自于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']
));
4

3 回答 3

0

无需查询所有国家/地区,只需从查询中删除国家/地区参数,例如

SELECT * FROM `table` WHERE `country` = 'IDHERE';

变成

SELECT * FROM `table`;
于 2013-09-23T09:04:38.353 回答
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();
}
于 2013-09-23T09:06:39.157 回答
0
$SQLString = "SELECT * FROM ".$conn->table_Table;

$country_id = $_POST['Country']!="" ? 'WHERE country = '.$_POST['Country'] : '';


$fetchQ = $conn->dbConn->prepare($SQLString.$country_id)
于 2013-09-23T09:08:50.300 回答