Как-то сложно. Не увидел у тебя JOIN таблиц, тебе нужно объединить таблицы и потом выборка по категории, я делаю так:
if(isset($_GET['category'])){
$category = $_GET['category'];
$sql='SELECT items.id, name, description, price, date, image, address, categoryname, category_id
FROM items
INNER JOIN category
ON category_id = category.id
WHERE category.id = ' . $category . '
ORDER BY id ASC';
$result=$pdo->query($sql);
while($row=$result->fetch())
{
$items[]=array(
'id'=>$row['id'],
'name'=>$row['name'],
'description'=>$row['description'],
'price'=>$row['price'],
'date'=>$row['date'],
'image'=>$row['image'],
'address'=>$row['address'],
'categoryname'=>$row['categoryname'],
'category_id'=>$row['category_id']
);
}
}