Имеется один файл index.php и имеется база данных mysql с одной таблицей artikles (поля: id, title, description, content) наполненная 10 статьями. Нужно что бы в файле index.php выводились данные одной определённой статьи (титле, дескрипшн и сама статья) в зависимости от запроса. То есть, id 1 – это главная. А запросы других страниц – sait.ru/index.php?id=2, sait.ru/index.php?id=3, sait.ru/index.php?id=4, sait.ru/index.php?id=5, sait.ru/index.php?id=6, sait.ru/index.php?id=7, sait.ru/index.php?id=8, sait.ru/index.php?id=9, sait.ru/index.php?id=10
Я знаю, что для того что бы такое организовать нужно прописать в index.php команду подключения к базе данных – это легко. Но после этого нужна команда по извлечению статьи из базы данных, но только не по определённому id, а по id, который запрашивается.
Получаете id страницы, которую нужно вывести, например $id = $_SERVER['REQUEST_URI']; Затем делаете выборку из бд для нужно записи select * from artikles where id='$id' Ну и в нужные места вставляете данные. Это если по-простому. П.С. проверяйте всегда поля, которые получаете.
music, после добавления $id = intval($_GET['id']); заработало как мне нужно, однако при обращении к главной sait.ru не показывается содержимое id1, а показывается оно так sait.ru/index.php?id=1. Как сделать, что бы по запросу sait.ru показывалось содержимое
Гениально, просто гениально! Работает! При запросе главной страницы отдаёт содержимое id1. Но имеется другая проблема. При запросе http://sait.ru/ (любое слово), например http://slovo.ru/slovo - отдаёт ошибку 404 (404 File not found.). Но при запросе http://sait.ru/index.php?id=11 (и выше) отдаёт статичное содержимое, то есть шаблон без контента, а должно отдавать ошибку 404, как в первом случае. У меня на сайте 10 страниц, а при запросе от /index.php?id=11 отдаётся статичное содержимое без контента
---------- Сообщение добавлено 19:00 ---------- Предыдущее 18:32 ----------
Получилось. Я создал ошибку 404 для несуществующего id. Надо вставить такой код:
PHP код:
if(mysql_num_rows($result)==0){ header('HTTP/1.1 404 Not Found'); header('Location: /404.php'); die();