Почему в title выводится только 1 колонка из MySQL?
Почему в title выводится только 1 колонка из MySQL? Т.е на всех страницах один и тот же title Как это исправить?
<!-- Блок: Подключение -->
<?php require 'vendorphp/db.php'; ?>
<!-- Блок: Подключение -->
<?php
header("X-XSS-Protection: 1; mode=block");
header("Referrer-Policy: no-referrer");
header("Referrer-Policy: strict-origin-when-cross-origin");
header("X-Frame-Options:sameorigin");
header("X-Permitted-Cross-Domain-Policies: none");
header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
header("X-Content-Type-Options: nosniff");
header_remove('x-powered-by');
?>
<!DOCTYPE html>
<html lang="ru" itemscope itemtype="http://vfilms.ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Удобный сайт c целью просмотра бесплатных актуальных фильмов включая скачивание безо всяких реклам">
<meta name="keywords" content="VFilms, онлайн фильмы 2021 бесплатно, фильмы безо всяких реклам, актуальные фильмы, удобное скачивание фильмов" />
<meta property="og:title" content="Сайт с актуальными фильмами 2021 года в хорошем качестве без рекламы и скачиванием в один клик" />
<meta property="og:url" content="https://vfilms.ru/" />
<meta property="og:image" content="https://a.radikal.ru/a09/2103/62/7e3ceaf463bb.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:description" content="Давно искали сайт с актуальными фильмами без мешающей рекламы и удобным скачиванием? - VFilms.ru для тебя!" />
<meta property="og:site_name" content="Удобный сайт с актуальными фильмами без мешающей рекламы и скачиванием в один клик" />
<meta itemprop="name" content="VFilms - Смотреть онлайн фильмы 2021 бесплатно без рекламы">
<meta itemprop="description" name="description" content="Удобный сайт с актуальными фильмами 2021 года без рекламы">
<meta itemprop="image" name="image" content="https://a.radikal.ru/a09/2103/62/7e3ceaf463bb.png">
<meta name="author" content="VFilms">
<meta name="copyright" lang="ru" content="VFilms">
<meta name="yandex-verification" content="18abbd548eb39fc4" />
<link rel="image_src" href="https://a.radikal.ru/a09/2103/62/7e3ceaf463bb.png">
<?php
$singles = get_singles_all();
foreach ($singles as $single) { ?>
<title><?php echo $single["htitle"]; ?></title> <?php } ?>
<link rel="icon" type="image/png" href="img/sitefavicon.ico">
<link href="/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="/css/osahan.css" rel="stylesheet">
<link rel="stylesheet" href="/vendor/owl-carousel/owl.carousel.css">
<link rel="stylesheet" href="/vendor/owl-carousel/owl.theme.css">
</head>
Ответы (1 шт):
Автор решения: InDevX
→ Ссылка
Не верный подход. Никакой цикл не нужен.
Допустим, у вас страницы открываются через id: vfilms.ru/video/1, vfilms.ru/video/2, ...
Тогда title можно сделать через какой-то метод.
<title><?php echo getTitle(); ?></title>
и реализация
function getTitle(): string {
global $db;
$sth = $db->prepare("SELECT * FROM singles WHERE id=?");
$sth->execute([$_GET['id']]);
$single = $sth->fetchColumn();
return $single['title'];
}
Но, за каждым эл-том обращаться в базу не айс... Потому нужно при загрузке страницы в первую очередь находить запись в базе и записывать её, условно, в переменную, которую можно использовать в любом месте на странице.