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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощь в доработке меню 
:(
    Опции темы
ardeler
Дата 14.10.2011, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



Здравствуйте . У меня такая проблема решил написать динамическое добавление страниц ....

создал таблицу в бд с полями id ,name ,title,mdesc ,mkey ,text

ввыод простой 

Код

$a=mysql_query("select * from pages");

$b=mysql_fetch_array($a);
 do

{ ?>

<li><a href="/info.php?id=<? echo $b['id']; ?>&n=<? echo $b['name']; ?>"><? echo $b['title']; ?></a></li>

 

<? }
  while ($b=mysql_fetch_array($a));  
  
  



Но нужна реализация под категорий для выподающего списка ,в голову не приходит как прописать к примеру - если добавить вторую страницу
  item2   (и item2   с раскрывающимся списком под категорий типа pl1 pl2 pl3  )

а у меня как видите вывод в цикле ...

помогите пожалуйста



--------------------
Jumo network | myspace 
PM MAIL   Вверх
CruorVult
Дата 14.10.2011, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



добавляешь поле parent_id 

все подкатегории будут хранить в этом поле id категории

можно вытянуть все подкатегории сразу а можно аяксом-ом подгрузить


Это сообщение отредактировал(а) CruorVult - 14.10.2011, 14:30
PM MAIL Skype   Вверх
ardeler
Дата 14.10.2011, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



спасибо за ответ - но как реализовать код ....
если вам не трудно покажите пример. 

пример - 

Vingrad MailМой профильМои друзьяМои группыМои ссылкиВвод/вывод денег  = это ведь тоже на пхп написано  и нет там нужды добавлять страницы в код .


--------------------
Jumo network | myspace 
PM MAIL   Вверх
CruorVult
Дата 14.10.2011, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



принцип такой, хотя не самый лучший вариант
Код

$a=mysql_query("select * from pages parent_id=0");

$b=mysql_fetch_array($a);
 do

{ ?>

<li><a href="/info.php?id=<? echo $b['id']; ?>&n=<? echo $b['name']; ?>"><? echo $b['title']; ?></a></li>

<?
 $a1=mysql_query("select * from pages where parent_id=".$b['id']);
$b1=mysql_fetch_array($a1);
 do

{ ?>
//выводим подменю
<?
}
while ($b1=mysql_fetch_array($a1));  
//
?>

<? }
  while ($b=mysql_fetch_array($a));  
  

PM MAIL Skype   Вверх
ardeler
Дата 14.10.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



Спасибо сейчас попробую прописать

Добавлено через 7 минут и 7 секунд
Видимо я в этом деле - Блондинка - 

добавил поле в бд 
parent_id

Код

<?
$a=mysql_query("select * from pages parent_id=0");
$b=mysql_fetch_array($a);
 do
{ ?>
<li><a href="/info.php?id=<? echo $b['id']; ?>&n=<? echo $b['name']; ?>"><? echo $b['title']; ?></a></li>
<?
 $a1=mysql_query("select * from pages where parent_id=".$b['id']);
$b1=mysql_fetch_array($a1);
 do
{ ?>
 
<?
}
while ($b1=mysql_fetch_array($a1));  

?>
<? }
  while ($b=mysql_fetch_array($a));  ?>


заменил на этот код 

выдает ошибку 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in T:\home\сайт\www\topmenu.php on line 3
--------------------
Jumo network | myspace 
PM MAIL   Вверх
CruorVult
Дата 14.10.2011, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



Код

$a=mysql_query("select * from pages WHERE parent_id=0");



ardeler, нужно не в тупую копировать код а хоть немножко думать, что делаете

Это сообщение отредактировал(а) CruorVult - 14.10.2011, 15:04
PM MAIL Skype   Вверх
ardeler
Дата 14.10.2011, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



ладно спасибо - поищу что не будь

Это сообщение отредактировал(а) ardeler - 14.10.2011, 15:23
--------------------
Jumo network | myspace 
PM MAIL   Вверх
ardeler
Дата 14.10.2011, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



Нашел такой код - может кто знает как его под php прописать - код на js с  aspx блога

Код

<script type="text/javascript">
var NoOffFirstLineMenus = 9;
var CssItemClassName = "MenuItem";
var CssHiClassName = "MenuItemHi";
var CssSubClassName = "MenuSub";
var CssHiSubClassName = "MenuSubHi";
var LowBgColor = "White";
var LowSubBgColor = "";
var HighBgColor = "";
var HighSubBgColor = "";
var FontLowColor = "Black";
var FontSubLowColor = "";
var FontHighColor = "";
var FontSubHighColor = "";
var BorderColor = "Black";
var BorderSubColor = "";
var BorderWidth = 0;
var BorderBtwnElmnts = 1;
var FontFamily = "Arial";
var FontSize = 9;
var FontBold = 1;
var FontItalic = 0;
var MenuTextCentered = "left";
var MenuCentered = "left";
var MenuVerticalCentered = "top";
var ChildOverlap = 0.1;
var ChildVerticalOverlap = 0.1;
var LeftPaddng = 2;
var TopPaddng = 0;
var StartTop = 0;
var StartLeft = 0;
var VerCorrect = 0;
var HorCorrect = 0;
var FirstLineHorizontal = 1;
var MenuFramesVertical = 1;
var DissapearDelay = 1000;
var TakeOverBgColor = 1;
var FirstLineFrame = "";
var SecLineFrame = "";
var DocTargetFrame = "_self";
var HideTop = 0;
var TargetLoc = "MenuPos";
var MenuWrap = 1;
var RightToLeft = 0;
var UnfoldsOnClick = 0;
var WebMasterCheck = 0;
var ShowArrow = 0;
var KeepHilite = 1;

Menu1=new Array("main", "/url", "", 0, 21, 10, "Transparent", "", "", "", "");
Menu2=new Array("lter", "", "", 11, 21, 10, "", "", "", "", "");
Menu2_1=new Array("v1", "/url", "", 0, 21, 10, "", "", "", "", "");
Menu2_2=new Array("v2", "/url", "", 1, 21, 10, "", "", "", "", "");
Menu2_3=new Array("v3", "/url/", "", 0, 21, 10, "", "", "", "", "");
Menu2_4=new Array("v4", "url", "", 0, 21, 10, "", "", "", "", "");
</script>

--------------------
Jumo network | myspace 
PM MAIL   Вверх
CruorVult
Дата 14.10.2011, 16:33 (ссылка) |  (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



ardeler, задача с области: "Как покушать с закрытым ртом не имея рук и еды и при этом не зная зачем это делать"  smile 
PM MAIL Skype   Вверх
ardeler
Дата 14.10.2011, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



Может кто то поможет ?
--------------------
Jumo network | myspace 
PM MAIL   Вверх
$дмитрий
Дата 14.10.2011, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



ardeler, в интернете куча примеров, гугли по запросу "древовидное меню php"
PM MAIL   Вверх
ardeler
Дата 15.10.2011, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



Цитата($дмитрий @  14.10.2011,  22:30 Найти цитируемый пост)
ardeler, в интернете куча примеров, гугли по запросу "древовидное меню php" 


Зачем тогда нужен форум программистов ,если на каждом тебя будут ссылать на поисковик .

Искал ,пока не получается реализовать. 

--------------------
Jumo network | myspace 
PM MAIL   Вверх
$дмитрий
Дата 15.10.2011, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

если на каждом тебя будут ссылать на поисковик .

Проблема в том что не спрашиваешь "Как реализовать?", а просишь реализовать за тебя
Цитата

Искал ,пока не получается реализовать

Смотри http://poiu.ru/lessons/index.php-18.htm
Обрати внимание на пример
Код

function get_tree($parent_id = 0, $prefix = "") {
      global $out;
      $query = "SELECT * FROM catalogs WHERE parent_id = '$parent_id'";
      $result = mysql_query($query);
      while ($row = mysql_fetch_array($result)) {
            $out .= $prefix.$row['cat_name']."<br>";
            get_tree($row['cat_id'], $prefix."&nbsp;&nbsp;");
      }
      return $out;
}
echo get_tree(); 

Вариант не самый лучший, но удовлетворяет условиям задачи

PM MAIL   Вверх
ardeler
Дата 15.10.2011, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старец
*


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

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



прописал в базу добавление _ с выборкой - 

к примеру если ид главной 1 - при выборке значение parent_id  присваивается 1 .

....

тупая моя бошка - не могу реализовать вывод под категорий . 

в цикле теперь все выводится. 

Код

<?
$a=mysql_query("select * from pages ");
$b=mysql_fetch_array($a);
 do
{ ?>
<li><a href="/info.php?id=<? echo $b['id']; ?>&n=<? echo $b['name']; ?>"><? echo $b['title']; ?></a></li>
<?
 $a1=mysql_query("select * from pages where parent_id=".$b['id']);
$b1=mysql_fetch_array($a1);
 do
{ ?>
 
<?
}
while ($b1=mysql_fetch_array($a1));  

?>
<? }
  while ($b=mysql_fetch_array($a));  ?>
  


--------------------
Jumo network | myspace 
PM MAIL   Вверх
CruorVult
Дата 15.10.2011, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

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



http://shebeko.com/99-texnik-sozdaniya-men...s-i-jquery.html

ardeler, выбери любое удобную меню.(выпадающие списоки начиная с №16) 
Для начала попробуй его сделать без выборки из БД. Потом посмотри как тебе нужно сгенерировать HTML под твое меню, и вышеперечисленными способами сделай это.
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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