Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разделы и Категории, Разделы и Категории в одном файле 
:(
    Опции темы
dgambu
Дата 29.8.2012, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Здравствуйте. Недавно начал изучать язык PHP, ну и как ожидалсь сталкнулся с первой проблемой. И так проблема вот в чем: Имеется сайт с разделами (Статьи Программы Фильмы Игры). (articles.php program.php ........ ) В разделе Статьи есть ещё 4 категории.  И так в общем мне нужно получить ссылки такого вида: www.site.ru/articles.php?cat=n&id=n . На данный момент у меня категории в разделах открываются нормально: www.site.ru/articles.php?cat=n а при открытии в них самих разметок получается www.site.ru/view.php?id=n . надо www.site.ru/articles.php?cat=n&id=n


view.php
Код

<?php include ("blocks/db.php");
if (isset ($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT id,title,meta_d,meta_k, text FROM data WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result)?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta name="keyword" content="<?php echo $myrow['meta_k'] ?>">
<title><?php echo $myrow['title'] ?></title>
<link href="css/style.css" type="text/css" rel="stylesheet">
</head>
<body>
  <div id="all">
   <div id="topline"></div>
   
        <ul id="cat_nav">
        <li><a href="index.php">Категория №1</a></li>
        <li><a href="index.php">Категория №2</a></li>
        <li><a href="index.php">Категория №3</a></li>
        <li><a href="index.php">Категория №4</a></li>
        </ul>
     
    <div id="wrapper">
     <div id="header">
      <div id="logo"><a href="index.php"></a></div>
       <ul id="nav">
        <li><a href="index.php">Главная</a></li>
        <li><a href="add.php">Добавить статью</a></li>
        <li><a href="adv.php">Реклама</a></li>
        <li><a href="about.php">О Сайте</a></li>
       </ul> 
    </div>
    <br/><div id="post_title"><h1><?php echo $myrow['title'] ?></h1></div>
    <div id="view_all_post"><br/><?php echo $myrow['text'] ?></div>
   </div>
   <div id="bottomline"></div>
  </div> 
</body>
</html>


articles.php
Код

<?php include ("blocks/db.php");
if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}

$result = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
$myrow = mysql_fetch_array($result) ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="description" content="<?php echo $myrow['meta_d'] ?>">
<meta name="keyword" content="<?php echo $myrow['meta_k'] ?>">
<title><?php echo $myrow['title'] ?></title>
<link href="css/style.css" type="text/css" rel="stylesheet">
</head>
<body>
  <div id="all">
   <div id="topline"></div>
   
        <ul id="cat_nav">
        <li class="green"><a href="articles.php">Статьи</a></li>
        <li><a href="index.php">Программы</a></li>
        <li><a href="index.php">Фильмы</a></li>
        <li><a href="index.php">Игры</a></li>
        </ul>
   
    <div id="wrapper">
     <div id="header">
      <div id="logo"><a href="index.php"></a></div>
       <ul id="nav">
        <li><a href="index.php">Главная</a></li>
        <li><a href="add.php">Добавить статью</a></li>
        <li><a href="adv.php">Реклама</a></li>
        <li><a href="about.php">О Сайте</a></li>
       </ul> 
    </div>
    
    <ul id="articles_cat">
        <li><a href="articles.php">Все</a></li>
        <li><a href="articles.php?cat=1">Интересное</a></li>
        <li><a href="articles.php?cat=2">Юмор</a></li>
        <li><a href="articles.php?cat=3">Полезное</a></li>
        <li><a href="articles.php?cat=4">Жесть</a></li>
    </ul>
    
<?php
$result = mysql_query("SELECT id,title,description, date, mini_img, cat FROM data WHERE cat='$cat'", $db);
$myrow = mysql_fetch_array($result);


do {
    
printf("
      <div id='post'><div id='mini_img'><img src='%s'></div>
      <div id='content'>
      <div id='article_inf'>
      <div id='article_date'>Добавлено: %s</div>
      <div id='article_title'><a href='view.php?id=%s'>%s</a></div></div> 
      <div id='article_description'>%s</div><div id='read_more'><a href='view.php?id=%s'>Читать дальше...</a></div></div></div><br><br>
       ",
       $myrow["mini_img"], $myrow["date"], $myrow["id"], $myrow["title"], $myrow["description"], $myrow["id"]);
    
   }
   
while ($myrow = mysql_fetch_array($result));
?>
   </div>
   <div id="bottomline"></div>
  </div> 
</body>
</html>


В базе 3 таблицы:
categories
data
settings


Помогите пожалуйста, 3 дня мучаюсь уже. Извините если не правильно задал вопрос, новичок я.myrow['meta_d'] ?
PM MAIL   Вверх
Fortop
Дата 29.8.2012, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



В какой строке у вас формируется неправильная ссылка?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
dgambu
Дата 29.8.2012, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Fortop,  На данный момент все правильно. (Судя по написанному php коду). Вопрос в том, как изменить код, чтоб формировалась другая ссылка? сейчас статьи (вывод полной статьи) открываются через файл view.php.  Например захожу в раздел статьи (www.site.ru/articles.php) потом в разделе статьи захожу в категорию юмор (www.site.ru/articles.php?cat=2) в категории юмор захожу в статью а там ссылка ввида www.site.ru/view.php?id=n, а хотелось-бы www.site.ru/articles.php?cat=2&id=n
PM MAIL   Вверх
Fortop
Дата 29.8.2012, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(dgambu @  29.8.2012,  22:10 Найти цитируемый пост)
в категории юмор захожу в статью а там ссылка ввида www.site.ru/view.php?id=n

Ну так и указывайте тут вашу нужную вам ссылку

Код

  <div id='article_title'><a href='view.php?id=%s'>%s</a></div></div> 



Вопрос в том, вы код доработали чтобы он обрабатывал такое поведение?
Или вы просто хотите изменить ссылку не меняя код? Тогда вам нужно кроме смены ссылок, лезть в настройки веб-сервера и заниматься конфигурацией mod_rewrite 


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
dgambu
Дата 30.8.2012, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Fortop,  Мне надо чтобы в файле articles.php был вывод категорий и самих статей полностью. Просто новичок в этом, не могу разобраться как это реализовать. Т.е view.php нужно удалить совсем, а в articles.php сделать так чтоб проверялись переданные параметры, если передано значение id, то выводиться урок полностью, если только значение cat, то только категории.

Просто незнаю как это реализовать в файле articles.php

Это сообщение отредактировал(а) dgambu - 30.8.2012, 06:19
PM MAIL   Вверх
s1lver
Дата 30.8.2012, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



Вариант.

Создаешь пару функции, в одну пишешь вывод урока, в другую вывод категории. При проверки значении параметра просто будешь вызывать нужную функцию.


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
dgambu
Дата 30.8.2012, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



s1lver,  Спасибо за ответ. Можно пожалуйста попадробней. В коде что куда вставить, а потом буду анализировать. Так лучше язык мне учиться.
PM MAIL   Вверх
s1lver
Дата 30.8.2012, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 14.12.2007
Где: Россия

Репутация: нет
Всего: нет



допустим у вас есть ссылка вида articles&readtext=1

есть две функции одна 
min_text()
выводит полный список уроков
и 
max_text ()
выводит конкретный урок полностью
то, разбор ссылки будет такой
Код

//получаем ссылку делим ее
$g_exp_url = @explode("readtext=",$g_remuri);
$g_id_articles=$g_exp_url[1];
//тут мы смотрим чтобы значение было числом на всякий случай
    if ($g_exp_url[1] != is_int($g_exp_url[1])) 
//если все как надо то выводим конкретную статью
max_text($g_id_articles);
//если числового значения нет то полный список
         else min_text();



p/s все находится в одном файле

Это сообщение отредактировал(а) s1lver - 30.8.2012, 08:26


--------------------
Я собрался жить вечно - пока все идет нормально!
PM MAIL ICQ   Вверх
dgambu
Дата 30.8.2012, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



s1lver,  Вы мне объяснили как буд-то я профессионал по PHP.)
Если не сложно можете этот код добавить в файл articles.php, дать мне в готовом виде как говориться. Буду бесконечно благодарен.

Это сообщение отредактировал(а) dgambu - 30.8.2012, 08:43
PM MAIL   Вверх
dgambu
Дата 31.8.2012, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.8.2012

Репутация: нет
Всего: нет



Проблема решена. Всем Спасибо!

Это сообщение отредактировал(а) dgambu - 31.8.2012, 08:18
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0831 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.