как создавать страницы новостей на простом php mysql

Простите за такой вопрос, начал сам изучать php mysql. Наткнулся на одну проблему, а как генерировать внутреннюю страницу новостей? типо сразу с ссылкой site.ru/news/1. На данный момент создаю страницы на php, но это же не дело. Я даже не смог правильно составить запрос в гугле чтобы найти такую простую вещь. Был бы рад совету как это сделать или же правильному запросу в гугле


Ответы (3 шт):

Автор решения: Denis I

Для начала вам нужно знать, как получать строки из базы данных и выводить их на страницу. Научитесь создавать структуру базы данных так, чтобы вам можно было получать из неё нужный вам контент.

На вот например:

<?php
$db_host = "localhost"; 
$db_user = "mysql";
$db_password = "mysql";
$db_base = "news";
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);
$news_list = mysqli_fetch_array($mysqli->query("SELECT news_item FROM news"));

echo "
<ul>
<li><span>Новость №1: </span>".$news_list[0]."</li>
<li><span>Новость №2: </span>".$news_list[1]."</li>
<li><span>Новость №3: </span>".$news_list[2]."</li>
<li><span>Новость №4: </span>".$news_list[3]."</li>
<li><span>Новость №5: </span>".$news_list[4]."</li>
</ul>"

?>

БД
id     |news_item                    |news_data                |
-------|-----------------------------|-------------------------|
0      |Сегодня в Москве прошла выставка современного искусства|2020-05-20 00:21:57|

Естественно этот код без БД и правильной конфигурации подключения работать не будет.

→ Ссылка
Автор решения: Ипатьев

На самом деле даже для простой странички новостей нужно учить кучу всего.

БД mysql

  1. подыскать себе клиент для работы с БД. Это может быть консоль, или PHPStorm, или Mysql Workbench. PHPMyAdmin не рекомендую. после этого заходить в клиент и начинать работу с БД.
  2. Таблицы. Нужно понять что такое таблицы в БД и научиться их создавать.
  3. Освоить такое понятие, как autoincrement
  4. Подумать, как должна выглядеть таблица с новостями, из каких колонок она должна состоять. Создать таблицу новостей.
  5. SQL. Освоить основные запросы, которые тебе понадобятся - INSERT, UPDATE, DELETE, SELECT
  6. используя запрос INSERT создать пару тестовых строк в базе
  7. После потренироваться писать запросы, которые тебе в дальнейшем - в частности SELECT с разными выборками, нескольких новостей и одной

PHP

  1. Освоить освоить работу с БД через PDO, особенно через подготовленные выражения
  2. Написать админку для новостей, так называемый CRUD - страница со списко мновостей и возможностью добавить, удалить, и отредактировать новость. Для этого испльзовать SQL запросы и HTML формы.
  3. Написать собственно страницу новостей, которая показывает список новостей и выводит ссылки на отдельные новости, где id новости передается через параметр в квери стринг
  4. Если хочется ссылки вида site.ru/news/1 то надо учить mod_rewrite или аналогичную технологию. На данном этопе не стоит заморачиваться, надо просто передавать site.ru/news.php?id=1. В дальнейшем можно будет погуглить ЧПУ
  5. написать страницу отдельной новости, которая получает ид новости из $_GET и выводит её
→ Ссылка
Автор решения: Виталий Меерович

Ну с БД написали все выше. А для того чтобы Ваши урлы работали независимо от количества новостей и так далее нужно написать простенький роутинг. Примеров в гугле 100500. Выбирайте наиболее понятный Вам и юзайте. Можно конечно пойти более сложным путем и заюзать модуль из того же Symfony но думаю разбирайся Вы в таком этот вопрос не был бы создан так что от простого к сложному идите и у Вас всё получится

→ Ссылка