Я не могу понять, как функционировать выбранные категории, используя $ где в SQL - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу показать выбранный запрос из таблицы

<?php 
    $where = "";

    if(isset($_GET['category']))
    {
        $catid = $_GET['category'];
        $where = " WHERE product.categoryid = $catid";
    }

Таким образом, есть функция $where для получения категории

 $sql = "SELECT category.*,  
             category.category_id , items.id AS itemID,items.asset_tag,items.name,
                  items.brand,items.status,
                  items.quantity,items.category_id,
                items.color,items.texture,items.photo,items.date,
             items.fetch_item FROM items  LEFT JOIN category ON 
                     category.category_id=items.category_id 
                  WHERE  items.status = 'Available' AND items.fetch_item = '0' $where";


         ?>

1 Ответ

0 голосов
/ 06 декабря 2018

Похоже, что вы допустили небольшую ошибку, потому что в вашем запросе "по умолчанию" у вас уже есть оператор WHERE, поэтому в случае, если вы должны снова использовать AND или OR вместо WHERE:

$where = "";
if(isset($_GET['category']))
{
    $catid=$_GET['category'];
    $where = " AND product.categoryid = $catid";
}

Кроме того, вы можете сделать добавление дополнительных условий WHERE более элегантным, используя функцию sprintf () .Взгляните на пример:

$additional_condition = 'AND active=1'
$statement = 'SELECT * FROM users WHERE condition=1 %s';
echo sprintf($statement, $additional_condition);

// Output: SELECT * FROM users WHERE condition=1 AND active=1
...