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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Меню навигации
 
 автор: Loki   (09.03.2005 в 09:34)   письмо автору
 
 

Прошу совета как лучше реализовать или дороботать то, что есть сейчас.
Идея следующая: в конце каждой страницы должно быть меню ведущее к следующей и предыдущей странице, причем, названия ссылок не вперед/назад, а являются названиями страниц.
Как я это пытаюсь сделать сейчас:
подключаемый файл menu.php содержит ассоциированный массив, где названия полей соответствуют id вызываемых файлов, а их значения - названиями страниц. Затык у меня на том, что я не знаю как вызвать предыдущее и следующее от текущего id в массиве. Если я правильно понимаю, то функции next и prev работают только при переборе массива. Может тогда гонять пустой цикл пока курсор не окажется в нужном месте?

   
 
 автор: cheops   (09.03.2005 в 09:38)   письмо автору
 
   для: Loki   (09.03.2005 в 09:34)
 

А id числовой или строковый? Дело в том, что ассоциативный массив не имеет строго порядка следования, здесь идеально бы подошёл обычный массив. Тогда ссылка на предыдущий элемент могла выглядеть так $arr[$id - 1], а на следующий $arr[$id + 1].

   
 
 автор: Loki   (09.03.2005 в 10:30)   письмо автору
 
   для: cheops   (09.03.2005 в 09:38)
 

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

   
 
 автор: cheops   (09.03.2005 в 22:22)   письмо автору
 
   для: Loki   (09.03.2005 в 10:30)
 

Хм... можно ввести второй массив, значениями которого будут ключи первого массива.

   
 
 автор: Loki   (10.03.2005 в 09:36)   письмо автору
 
   для: cheops   (09.03.2005 в 22:22)
 

Хм... интересный вариант! Но я уже потратил вечерок и перевел сайт на числовые индексы:)
В процессе возник вопрос по ассоциированным многомерным массивам:

<?php
$massiv
[test][0]="abc";
?>

в целом работает, но на экран выводятся ошибки (предупреждения?) об использовании неизвестной константы "test". В итоге пришлось изменить код следующим образом:

<?php
$massiv
[0][0]="abc";
?>

В чем ошибка первого варианта?
Тестировал на локальной машине. Может на сервере оно бы и работало нормально, но хотелось сначала все вылизать.

   
 
 автор: cheops   (10.03.2005 в 10:00)   письмо автору
 
   для: Loki   (10.03.2005 в 09:36)
 

А если так писать
<?php 
$massiv
['test'][0]="abc"
?>

Замечания всё-равно выводятся?

PS Вы можете подаваить замечания (на хостинге они всё-равно подавляются) выставив соответствующий уровень тревожности PHP, либо поместив в начале скрипта конструкцию
<?php
  Error_Reporting
(E_ALL & ~E_NOTICE); 
?>

Либо выставив уровень тревожности глобально в конфигурационном файле php.ini
rror_reporting = E_ALL & ~E_NOTICE

как это описывается в статье по ссылке http://www.softtime.ru/info/articlephp.php?id_article=23

   
 
 автор: Loki   (10.03.2005 в 10:38)   письмо автору
 
   для: cheops   (10.03.2005 в 10:00)
 

Нет. Так все работает нормально. Спасибо!
А в книжке по php везде используется запись без кавычек... а там где они есть - используются двойные... Короче, жулики:)

   
Rambler's Top100
вверх

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