从带有数组的数组调用

时间:2012-07-02 13:55:50

标签: php sql arrays get

我想使用get数组从一个数组调用,但它不能正常格式化这个格式是什么?

if(isset($_GET["category"])){
    $cat = 'SELECT DISTINCT `Category` FROM `products`';
    $result = $mysqli->query($cat);
    $i='0';
    while ($row = $result->fetch_array(MYSQLI_ASSOC)){
        $i++;
        $Category = $row["Category"];
        $id = array($i => $Category);
    }
    $result->close();
    $query = 'SELECT * FROM products WHERE Category="'. $id[$_GET["category"]]. '" ORDER BY Code';
}

2 个答案:

答案 0 :(得分:1)

看来,你在循环中犯了一个错误。如果要为数组键分配值,则需要替换它:

$id = array($i => $Category);

用这个:

$id[$i] = $Category;

否则$id将始终是仅包含当前键值对的新数组。

答案 1 :(得分:0)

你的查询错了。使用

$query = "SELECT * FROM products WHERE Category='". $id[$_GET["category"]]. "' ORDER BY Code";

order by子句必须在where子句之后。