Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сделать динамическую навигацию?

Сообщения:  [1-10]   [11-17] 

 
 автор: Shadow69   (19.06.2006 в 14:54)   письмо автору
 
   для: cheops   (02.06.2006 в 21:39)
 

Еще раз спасибо.

Структупа таблицы следующая:

CREATE TABLE music (
id_music int(11) NOT NULL auto_increment,
name_groups text NOT NULL,
name_trek text NOT NULL,
time_trek time NOT NULL default '00:00:00',
bitrate_trek tinytext NOT NULL,
size_trek tinytext NOT NULL,
clicks int(5) NOT NULL default '0',
url_trek text NOT NULL,
PRIMARY KEY (id_music)
) TYPE=MyISAM AUTO_INCREMENT=3;

INSERT INTO 'music' VALUES (1, 'Evanescence', 'Going Under', '00:03:34', '320', '8,59', 0, 'http://yyy.ru/mp3/evanescence/going_under.mp3');
INSERT INTO 'music' VALUES (2, 'Evanescence', 'Bring Me To Life', '00:03:56', '320', '9,47', 0, 'http://yyy.ru/mp3/evanescence/bring_me_to_life.mp3');

   
 
 автор: cheops   (02.06.2006 в 21:39)   письмо автору
 
   для: Shadow69   (02.06.2006 в 14:59)
 

Ну в принципе можно и эту оставить, так как любая другая структура будет близкой к этой, более удобна в работе, но менее читабельной. Информация у вас извлекается из базы данных? Какова структура таблицы?

   
 
 автор: Shadow69   (02.06.2006 в 14:59)   письмо автору
 
   для: cheops   (02.06.2006 в 12:22)
 

Мне казалось, что структура не плохая.... :-) А как сделать лучше?

   
 
 автор: cheops   (02.06.2006 в 12:22)   письмо автору
 
   для: Shadow69   (02.06.2006 в 11:00)
 

>http://yyy.ru/index.php?menu=music (guestbook, forum).
С такой структурой намучаетесь - нет возможности исправить формат строки запроса?

   
 
 автор: Shadow69   (02.06.2006 в 11:00)   письмо автору
 
   для: cheops   (22.05.2006 в 12:34)
 

Спасибо.

Сложность в практической стороне...

Допустим я ввожу в адресную строку http://yyy.ru/index.php?menu=music (guestbook, forum).
У меня в заголовке "движок" должен вывести: Сайт YYY > Раздел Музыка (Гостевая книга, Форум)

Описать с помошью if, довольно таки громозко, так как дальше будут подразделы.

Ввожу: http://yyy.ru/index.php?menu=music&artist=abba.
Т.е "движок" должен вывести Сайт YYY > Раздел Музыка> Группа ABBA

Страница монолитная. С помощью require_once(), подключается только config.php.

   
 
 автор: cheops   (22.05.2006 в 12:34)   письмо автору
 
   для: Shadow69   (22.05.2006 в 11:03)
 

Что в данном случае вызывает сложность? Обычно подставляют переменную
<title><?php echo $title?></title>

Методы передачи этой переменной зависит от структуры страницы: монолитная она или фрагментирована и собирается при помощи require_once().

   
 
 автор: Shadow69   (22.05.2006 в 11:03)   письмо автору
 
   для: cheops   (27.04.2006 в 12:27)
 

Огромное спасибо.

А посоветуйте, как сделать вывод названий меню (видео, музыка, и т.д.) в заголовке <TITLE>. Как лучше и проще сделать?

   
 
 автор: cheops   (27.04.2006 в 12:27)   письмо автору
 
   для: Shadow69   (27.04.2006 в 11:29)
 

Для этого необходимо проверять содержимое GET-параметра menu
<?php 
  
if($_GET['menu'] == 'music')
  {
    
// Содержимое страницы "музыка"
  
}
  if(
$_GET['menu'] == 'video')
  {
    
// Содержимое страницы "видео"
  

  if(
$_GET['menu'] == 'guestbook')
  {
    
// Вывод из гостевой книги
  

?>

Если параметров много - их можно оформить в виде конструкции switch.

   
 
 автор: Shadow69   (27.04.2006 в 11:29)   письмо автору
 
   для: Anwor   (14.04.2006 в 22:57)
 

Огромнейшее спасибо всем за ответы!

А вот такой вопрос:

Объясните, пожайлуста общий принцип вот такой навигации:

http://yyy.ru/index.php?menu=music (выводит данные по разделу "музыка")
http://yyy.ru/index.php?menu=video (выводит данные по разделу "видео")
http://yyy.ru/index.php?menu=guestbook (выводит данные из гостевой книги)
и т.д.

Чтобы сайт был из одного файла index.php, а с помощью вышеописанных GET-запросов выводил соответствующие данные? Как его реализовать? И как составить таблицу sql в данном случае?

Заранее спасибо.

   
 
 автор: Anwor   (14.04.2006 в 22:57)   письмо автору
 
   для: КРУТО   (14.04.2006 в 21:25)
 

Мне кажется, как и сказал Cheops, надо воспользоваться суперглобальным $_GET. Просто при каждом обновлении страницы проверяете наличие в этом массиве переменных, а в соответствии с их значениями (если они, конечно, заданы) вызываете определенный SQL-запрос. Вот пример.
index.php

<?php
if (isset($_GET['menu'])) {
//если задана только переменная menu, т.е. в URL-запросе: http://yyy.ru/index.php?menu=music
$query=".......";
//формируем выборку по значению music
} else if (isset($_GET['cat'])) {
//если задана дочерняя переменная, т.е. в URL-запросе: http://yyy.ru/index.php?menu=music&cat=abba
$query=".......";
//формируем выборку по значениям music и abba
}
//и т.д., после чего посылаем полученный запрос MySQL'у:
$res=mysql_query($query);
$row=mysql_fetch_array($resmysql_assoc);
//к примеру. А дальше уже идет обработка и вывод на страницу данных, полученных из БД. Нечто вроде:
foreach($row as $value) {
echo 
$value."<br>";
}
//это, конечно, бредовый вариант вывода, так, для примера.
?>
<!-- Дальше идет код самой страницы на ХТМЛ... -->

Возможны, в принципе, и другие варианты, этот может показаться несколько громоздким.

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования