Динамическая страница и MYSQL

(Ответов: 6, Просмотров: 703)
  1. Banned
    • Регистрация: 11.02.2014
    • Сообщений: 98
    • Репутация: 10
    Имеется один файл 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, который запрашивается.
    • 0
  2. Разработка любых сайтов Аватар для ArhStrAngeR
    • Регистрация: 08.06.2011
    • Сообщений: 3,376
    • Записей в дневнике: 1
    • Репутация: 2506
    Получаете id страницы, которую нужно вывести, например $id = $_SERVER['REQUEST_URI'];
    Затем делаете выборку из бд для нужно записи select * from artikles where id='$id'
    Ну и в нужные места вставляете данные.
    Это если по-простому.
    П.С. проверяйте всегда поля, которые получаете.
    • 0
  3. Banned
    • Регистрация: 11.02.2014
    • Сообщений: 98
    • Репутация: 10
    Где надо написать - $id = $_SERVER['REQUEST_URI']; ?

    Код ниже, который у меня

    PHP код:
    <?php

    $connection 
    mysql_connect("localhost""Имя_пользователя""Пароль");
    $db mysql_select_db("Имя_базы");
    mysql_set_charset("utf-8");

    if(!
    $connection || !$db)
    {
      exit(
    mysql_error());
    }

    $result mysql_query(" SELECT * FROM articles WHERE id='$id' ");

    mysql_close();

    $row mysql_fetch_array($result);

    ?>

    <!DOCTYPE html>
    <html lang="ru">
    <head>
    <title><?php echo $row['title'];?></title>
    <meta charset="utf-8">
    <meta name="description" content="<?php echo $row['description'];?>" />
    <meta name="keywords" content="<?php echo $row['keywords'];?>" />
    </head>
    <body>
    Содержимое: <?php echo $row['content'];?>
    </body>
    </html>
    • 0
  4. Студент
    • Регистрация: 27.11.2011
    • Сообщений: 54
    • Репутация: 12
    Игорь Парфёнов, вот тут:
    PHP код:
    if(!$connection || !$db

      exit(
    mysql_error()); 


    $id intval($_GET['id']);

    $result mysql_query(" SELECT * FROM articles WHERE id='$id' "); 
    • 0
  5. Banned
    • Регистрация: 11.02.2014
    • Сообщений: 98
    • Репутация: 10
    music, после добавления $id = intval($_GET['id']); заработало как мне нужно, однако при обращении к главной sait.ru не показывается содержимое id1, а показывается оно так sait.ru/index.php?id=1. Как сделать, что бы по запросу sait.ru показывалось содержимое
    • 0
  6. Дипломник
    • Регистрация: 06.06.2011
    • Сообщений: 105
    • Репутация: 11
    if( isset( $_GET['id'] ) )
    $id = intval($_GET['id']);
    else
    $id = 1 ;
    • 0
  7. Banned
    • Регистрация: 11.02.2014
    • Сообщений: 98
    • Репутация: 10
    Цитата Сообщение от easymisc Посмотреть сообщение
    if( isset( $_GET['id'] ) )
    $id = intval($_GET['id']);
    else
    $id = 1 ;
    Гениально, просто гениально! Работает! При запросе главной страницы отдаёт содержимое 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();

         } 
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Что лучше для сайта - Динамическая страница или Статическая?
Общие вопросы поисковой оптимизации 11 02.10.2014 23:07
Динамическая таблица
Web программирование 3 25.03.2014 17:57
Скрипт комментариев CommentIt Ajax (Mysql + Без mysql)
Софт, скрипты, лицензии 0 01.07.2012 01:59
Динамическая карта Google
Web программирование 2 27.12.2011 16:29

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры