-1

Имеется каталог кошек, который выводится на страницу каталога при помощи mysqli + php. Как реализовать карточку товара, чтобы при клике на определенный товар, пользователь попадал на отдельную страницу, на которой будет информация об этом товаре. Понимаю, что нужно делать это при помощи id товара, но как именно реализовать - не совсем понимаю. Годного материала не могу найти. Спасибо.

1 Answers1

0

На этот вопрос Вы не найдете простого ответа. Но я постараюсь в вкратце объяснить суть подхода к решению этой задачи.

Речь идет о необходимости знать, какой именно товар запрашивается в данный момент. Эти данные можно получать разным способом, но зачастую их берут из глобального массива $_GET, который наполняется автоматически исходя из содержимого строки URL.

К примеру, URL может быть таким: вашДомен.ру/page.php?itemId=XXX

page.php - файл обработчик запросов вывода полной страницы, его необходимо создать в главной директории севера. Где XXX - идентификатор товара. Собственно получить доступ к этому идентификатору можно так:

$_GET['itemId'];

Главный вопрос в том, как идентификатор будет попадать в эту строку. Как правило, ссылку на просмотр полной страницы товара формируют при выводе всех товаров одной категории или к примеру на главной странице в разделе "Недавно добавленные товары". Именно при формировании шаблона отображения этих пунктов и должна быть сформирована ссылку на страницу, которая будет смотреть, указан ли GET параметр item, заполнен ли он вообще. Если да - создаем запрос в базу данных примерно таким образом:

$itemId = (int) $_GET['itemId']; // тут пройдут только цифры

$SQL = 'SELECT * FROM table_name WHERE id="{$itemId}"';

Собственно вместо table_name нужно указать имя твой таблицы, в которой у Вас хранятся товары. В моем случае, у каждого товара есть поле id, по которому выберем нужный товар.

Если ничего из Выше упомянутого не натолкнуло Вас на мысль о том, как реализовать решение Вашей задачи, советую поискать информацию по этим ключевым словам: "Реализация простого роутинга на PHP".

Без ООП как я понимаю.