Есть страница с подробным описанием товара, у каждой свое id
. Пользователь переходит на нее с другой страницы, допустим страница rent на ней выводятся результаты поиска и нажав по нужному товару, человек переходит на страницу ads.php
Когда пользователь переходит на нее, нужно с помощью PHP и правильного запроса Mysql
вытащить массив данных по id
.
id
получаю так:
$id = htmlentities($_GET[‘id’]);
id
прекрасно выводится на каждое объявление, а вот весь массив нет, знаю что проблема в запросе к Mysql, но не знаю как правильно сделать. Варианты гуглил, тестировал, но результат не получил.
Если ставить в Mysql запрос конкретный номер, например 35 то массив вытаскивается этого объявления, а мне нужна переменная.
Сейчас массив не вытаскивается, делаю так, не показывает вообще ничего, даже в print_r():
('SELECT
rent.id,
rent.year,
rent.run,
rent.town_sell,
rent.price,
rent.description,
rent_photo.photo AS img,
mark.title AS mark,
model.title AS model,
city.title AS town_sell
FROM rent
INNER JOIN mark ON rent.mark = mark.id
INNER JOIN model ON rent.model = model.id
INNER JOIN city ON rent.town_sell = city.id
LEFT JOIN rent_photo ON rent.id = rent_photo.rent_id
WHERE rent.id IN (ЗДЕСЬ ДОЛЖНА БЫТЬ ПЕРЕМЕННАЯ АЙ ДИ)
ORDER BY rent.time_upload DESC');
Очень надеюсь на вашу помощь.
Пример запроса на php PDO:
Файл подключения к БД.
dbase.php
try {
$dbh = new PDO('mysql:dbname=yourDB;host=DBip;charset=utf8', 'DBlogin', 'DBpass');
} catch (PDOException $e) {
die($e->getMessage());
}
Файл с запросом:
require 'dbase.php'; // Подключаем БД
$id = htmlentities($_GET['id']);
$sql = "SELECT
rent.id,
rent.year,
rent.run,
rent.town_sell,
rent.price,
rent.description,
rent_photo.photo AS img,
mark.title AS mark,
model.title AS model,
city.title AS town_sell
FROM rent
INNER JOIN mark ON rent.mark = mark.id
INNER JOIN model ON rent.model = model.id
INNER JOIN city ON rent.town_sell = city.id
LEFT JOIN rent_photo ON rent.id = rent_photo.rent_id
WHERE rent.id = :id
ORDER BY rent.time_upload DESC"; // Запрос
$req = $dbh->prepare($sql);
$req->bindValue(':id', $id, PDO::PARAM_STR);
$req->execute();
$array = $req->fetchAll(PDO::FETCH_ASSOC); // Получаем данные
if($array){
print_r($array); // Выводим результат
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть столбец таблицы с кодировкой utf8 (менять кодировку нельзя)
делаю периодически БД(Mysql) для интернет-магазинов, новостных сайтов и тд