Помогите составить корректный запрос в базу что бы можно было получать каждую запись по id, как single page.
$id = isset($_GET['id']) ? $_GET['id'] : die('ERROR: missing ID.');
include_once 'DB/database.php';
include_once 'Objects/dvd.php';
$database = new Database();
$db = $database->getConnection();
$dvdList = [];
$stmt = $db->query('SELECT * FROM dvd WHERE id = ' );
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$dvdList[$row['id']] = new Dvd($row);
}
foreach ($dvdList as $dvd) {
echo "<h3 class='product-title'>{$dvd->name}</h3>";
echo "<p class='product-description'>{$dvd->description}</p>";
echo "<h6 class='price'>Price: {$dvd->price}<i class='glyphicon-euro'></i></h6>";
echo "<h6 class='sizes'>Capacity: {$dvd->capacity} mb </h6>";
}
Если писать после id =
просто цифру то запись получается из базу, как корректно составить что бы получать по id
До этого в классе Objects/dvd.php был метод ` function readOne(){
$query = "SELECT scu, name, img, price, description, capacity FROM dvd
WHERE id = ? LIMIT 0,1";
$stmt = $this->conn->prepare( $query );
$stmt->bindParam(1, $this->id);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//data that will be executed in `dvd_id`
$this->scu = $row['scu'];
$this->name = $row['name'];
$this->img = $row['img'];
$this->description = $row['description'];
$this->price = $row['price'];
$this->capacity = $row['capacity'];
}
Так получил запись по ключу, сейчас переделываю проект больше под ооп, создал абстрактный класс родителя Objects.product.php
abstract class Product
{
public $id;
public $scu;
public $img;
public $name;
public $price;
public $description;
public function __construct($data)
{
// $data - это строка извлеченная из БД.
// Соответственно индексы - это имена полей в таблице
$this->id = $data['id'];
$this->img = $data['img'];
$this->scu = $data['scu'];
$this->name = $data['name'];
$this->price = $data['price'];
$this->description = $data['description'];
}
}
1. Нет необходимости использовать LIMIT
при запросе одной записи по id
.
2. Проверьте, получаете ли вы значение id
через $this->id
.
3. Используйте такие варианты подстановки значений:
$query = "SELECT scu, name, img, price, description, capacity FROM dvd
WHERE id = ?";
$stmt->bindParam("i", $this->id);
$query = "SELECT scu, name, img, price, description, capacity FROM dvd
WHERE id = :id";
$sth->bindParam(":id", $this->id, PDO::PARAM_INT);
PDOStatement::bindParam
PDO::PARAM_INT
Ребята, всем привет, подскажите куда копать или помогите кодом, мне нужен счетчик времени – обратный отчет, и вывод всего этого дела на сайтВсе...
Всем привет! Сейчас изучаю sql, столкнулся с проблемойЕсть 3 таблицы: