Как связать новость на одной странице с ее развернутой формой на другой?

Есть сайт, спортивный новостной, футер, хедер все дела, а посередине вертикальным столбцом идут квадратные блоки с фотографией из новости в качестве фона, заголовком и сокращенным текстом новости. Естественно, все это дело будет браться из бд, а теперь сама проблема. При нажатии на блок пользователя должно пересылать на другую страницу, где на основе данных будет собираться вся новость, но уже развернуто (страница новости). Так вот, перебирать бд я планирую как массив через foreach, но вот каким образом можно связать новость со страницы с новостями с новостью со страницы самой новости - для меня загадка. Это каким-то образом, по моей задумке должно делаться через айди в бд, то есть если пользователь перешел по новости с айди 4, то развернуто новость соберется из данных новости с айди 4, есть ли у кого идеи, как этот id можно получить и передать второму запросу на сборку?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Поднимаем глаза наверх. Только не к Небу, а чуть ниже. К адресной строке своего браузера (пока она ещё там есть, и её не отменили улучшаторы из компании альфабет).
И - о чудо! - видим там ссылку вида qna.habr.com/q/1077518
Казалось бы, что могут означать эти загадочные цифры?.. ;-)
spoiler

Для "моего первого скрипта на пхп" правда там будет не /q/1077518, а news.php?id=1077518.
После чего в скрипте news.php вожделенное число будет доступно в переменной $_GET['id']
Содержимое которой можно будет использовать для запроса строки из БД.
Только не так как это показано во всех видео на ютубе, а нормально:

$query = "SELECT * FROM news WHERE id=?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $_GET['id']);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();


в переменной $row будет содержимое нужной строки из БД


А так-то вопрос, конечно, про SQL ;-)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы