从具有数组的数组调用


call from an array with an array

我想使用 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';
}

看来,你在循环中犯了一个错误。如果要为数组键赋值,则需要替换以下内容:

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

有了这个:

$id[$i] = $Category;

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

您的查询是错误的。

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

order by子句必须位于where子句之后。