0

get arrayを使用して配列から呼び出したいのですが、これをフォーマットする正しい方法は何ですか?

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';
}
4

2 に答える 2

1

ループ内でミスをしたようです。配列キーに値を割り当てる場合は、次のように置き換える必要があります。

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

これとともに:

$id[$i] = $Category;

それ以外の場合$idは、常に現在のキーと値のペアのみを持つ新しい配列になります。

于 2012-07-02T14:04:15.650 に答える
0

クエリが間違っています。使用する

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

句は句のorder by後になければなりませんwhere

于 2012-07-02T13:57:57.990 に答える