WItam, mam mały problem. Robię filtrowanie produktów w swoim systemie sklepowym i filtrowanie z ceną od najniższej, lub najwyższej to nie problem. Problem robi się gdy chcę dodać do tego kategorie produktów. Mam taki kod do wyciągania z mysql i działa, ale tylko sortowanie od najniższej lub najwyższej ceny, a kiedy wybiorę kategorię to error:
switch($_POST['category'])
{
case'coins':
$category = $_POST['category'];
break;
case'testy':
$category = $_POST['category'];
break;
default:
break;
}
switch($_POST['filter'])
{
case'najmniejsza':
if(isset($category))
{
$phpro_category = filter_var($category, FILTER_SANITIZE_STRING);
$stmt = getDBH()->prepare("SELECT * FROM products WHERE category=:category ORDER BY price LIMIT $strona,8");
$stmt->bindParam(':category', $phpro_category, PDO::PARAM_STR);
$stmt->execute();
}else{
$stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price LIMIT $strona,8");
$stmt->execute();
}
break;
case'najwieksza':
if(isset($category))
{
$phpro_category = filter_var($category, FILTER_SANITIZE_STRING);
$stmt = getDBH()->prepare("SELECT * FROM products WHERE category=:category ORDER BY price DESC LIMIT $strona,8");
$stmt->bindParam(':category', $phpro_category, PDO::PARAM_STR);
$stmt->execute();
}else{
$stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price DESC LIMIT $strona,8");
$stmt->execute();
}
break;
default:
if(!isset($category))
{
$stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price LIMIT $strona,8");
$stmt->execute();
}
break;
}
while ($r = $stmt->fetch(PDO::FETCH_ASSOC))
{
}
a taki error:
Fatal error: Call to a member function fetch() on null in /home/u546298435/public_html/functions/mysql_using.php on line 64