Нужен способ открывать посты на отдельной странице

Я пытаюсь настроить веб-страницу, на которой я добавляю сообщения, и позже, нажав кнопку «Подробнее», я могу прочитать это сообщение.

ниже есть код, где я получаю сообщения из базы данных и показываю в index.php

<div class="card-deck">
<?php
include("admin/db.php");
$sql = "SELECT id, header, street, file_name FROM posts";
$resultset = mysqli_query($connection, $sql) or die("database error:" . mysqli_error($connection));
while ($record = mysqli_fetch_assoc($resultset)) {
?>
<div class="col-sm-4">
<img
class="card-img-top rounded"src="uploads/<?php echo $record['file_name']; ?>"alt="Card image cap"/>
<div class="card-body">
<h5 class="card-title"><?php echo $record['header']; ?></h5>
<p class="card-text"><?php echo $record['street']; ?></p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
<?php
} ?>

</div>

Моя цель: после нажатия на кнопку «Читать дальше» мой пост откроется на отдельной странице. Если у меня есть более одного поста, как я могу узнать, на какую кнопку нажимают пользователя. Нужно ли использовать $ это ??
Я не спрашиваю полный код или делаю это для меня, поэтому, пожалуйста, не судите меня. Я просто спрашиваю, можете ли вы сказать мне любой метод, который мне нужно искать, чтобы сделать это. Я уже исследую множество примеров кода, но никто не работает для меня.

РЕДАКТИРОВАТЬ:

вот мой viewpost.php

        <?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 'On');  //On or Off
include('admin/db.php');
if (isset($_GET['id']) && !empty($_GET['id'])) {
$id = intval($_GET['id']);
$stmt = $connection->prepare("SELECT * FROM posts WHERE id = ?");
$stmt->execute();
$resultSet = $stmt->get_result();
$results = $stmt->fetchall();
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Blog - <?php echo $result['header']; ?></title>
<link rel="stylesheet" href="style/normalize.css">
<link rel="stylesheet" href="style/main.css">
</head>
<body>

<div id="wrapper">

<?php
echo '<div>';
echo '<h1>' . $result['header'] . '</h1>';

echo '<p>' . $result['content'] . '</p>';
echo '</div>';
?>
</div>


</body>
</html>

и я получаю ошибку

Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result() in /home/laukuvie/public_html/edijs/viewpost.php:9 Stack trace: #0 {main} thrown in /home/laukuvie/public_html/edijs/viewpost.php on line 9

до сих пор я не нашел решения, если есть решение, прежде чем я его найду, пожалуйста, прокомментируйте ниже

-1

Решение

Вот два варианта:

1) Есть страница для отдельных сообщений (например, /view-post.php?title=Hello%20World) и обновить href атрибут вашей ссылки «Подробнее», или

2) Включить текст сообщения на странице с display: none и открыть его с помощью JavaScript при нажатии «Подробнее».

Есть множество способов сделать это, и вы должны выбрать тот, который вы предпочитаете, но это, вероятно, самые распространенные подходы.

0

Другие решения

У вас должен быть отдельный PHP-файл, давайте назовем его read.php, а затем изменим тег ссылки на

<a href="read.php?id=<?=$record['id']?>">Read More</a>

Затем на странице read.php вы получите идентификатор статьи с $ _GET [‘id’] и сможете извлечь ее содержимое из базы данных и отобразить его.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector