Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Меню с выводом материала на странице

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
TyronNIKO
Отправлено: 10 Мая, 2017 - 23:23:19
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Доброго времени суток! Столкнулся с задачей, решить сам не могу... уже пару часов ломаю голову.
Есть папка с материалами для сайта www/mysite.com/content в ней 5 файлов.
Нужно сделать пункты меню для выводы этих материалов на сайте.
Файлы могут добавляться по мере необходимости, потому 5 - это просто для теста.
Набрал кучу примеров, а объединить их в итоге не могу...

Основная страница index.php выглядит так:
CODE (text):
скопировать код в буфер обмена
  1. <?php include 'menu.php';
  2. echo $content;?>


Файл menu.php следуюее содержание:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. $itemId = isset($_GET['itemId']) ? $_GET['itemId'] : 0; // выбранный пункт меню
  3. $menuItems = array( // все пункты меню
  4.     1 => 'главная',
  5.     2 => 'вторая',
  6.     3 => 'третяя',
  7.     4 => 'четвертая',
  8.     5 => 'пятая',
  9. );
  10. $files = scandir('content');
  11.  
  12. ?>
  13. <nav class="main-menu">
  14.         <ul class="menu-links">
  15.      
  16.         <?php
  17.         echo '<ul>';
  18.             foreach($menuItems as $menuItemId => $menuItem) {
  19.                 echo '<li><a href="?itemId=', $menuItemId, '" ',($menuItemId == $itemId ? 'class="active"':''), // если активный совпадает с текущим, то выделить его с помощью класса CSS
  20.                      '>', $menuItem, '</a></li>';
  21.             }
  22.             echo '</ul>';
  23.          
  24.         ?>
  25.         </ul>
  26.       </nav>


$files = scandir('content'); - выводит содержимое папки в виде массива.

Как мне заставить пункты меню выводить содержимое папки?
 
 Top
Vladimir Kheifets
Отправлено: 11 Мая, 2017 - 10:45:37
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Добрый день. Вам нужно по $itemId определить название программы

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. include 'menu.php';
  3. $InclProg=array();
  4. foreach($files as $n) if(!preg_match("/^\./",trim($n))) $InclProg[]=$n;
  5. If($itemId>0) include 'content/'.$InclProg[$itemId-1];
  6. ?>

(Отредактировано автором: 11 Мая, 2017 - 10:48:07)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB