Список товаров в корзине онлайн урок.


Для отображения списка товаров мы добавим скрипт в файл cart.php:

if ($action == 'add') {
$id = $_GET['id'];
$cart->addProduct($id);
header('Location: index.php');
} else {
// list here
}


Нам потребуется делать запрос в БД по полученным идентификаторам из корзины, потому необходимо включить файл с классом БД и создать подключение

require_once('cart.class.php');
require_once('cookie.class.php');
require_once('db.class.php');
$db_host = '46.101.16.227';
$db_user = 'dv_sri9n4gu9muge';
$db_password = 'r01ox87s4j9ta1qdm0uv';
$db_name = 'dv_sri9n4gu9muge';
$cart = new Cart();
$db = new DB($db_host, $db_user, $db_password, $db_name);


Нам теперь необходимо получить идентификаторы товаров. Эти идентификаторы мы будем подставлять в SQL-запрос, используя оператор IN, который предусматривает написание конкретных значений через запятую. Для того, чтобы удобно получать такую строку идентификаторов, изменим геттер getProducts() - добавим условие, по выполнению которого, этот метод вернет не массив, а строку из значений массива, записанных через запятую:


public function getProducts($for_sql = false)
{
if ($for_sql) {
return implode(',', $this->products);
}

return $this->products;
}


Далее, в cart.php мы получаем список товаров в корзине:

$id_sql = $cart->getProducts(true);


Теперь осталось исполнить запрос и вывести результат:

$sql = "SELECT * FROM books WHERE id IN ( {$id_sql} )";
print_r($db->query($sql));


Также, дополнительно предусмотрим случай, если продуктов нету в корзине.