Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 16:29   #1
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
Вопрос навигационный провал PHP+js

вообще дело такое, есть что то вроде меню

в хтмл вот такого виду

Код:
<a> 1</a>
<ul>
  <li>1-1</li>
  <li>1-2</li>
  <li>1-3</li>
</ul>

<a> 2</a>
<ul>
  <li>2-1</li>
  <li>2-2</li>
  <li>2-3</li>
</ul>

<a> 3</a>
<ul>
  <li>3-1</li>
  <li>3-2</li>
  <li>3-3</li>
</ul>
выводиться с помощью пхп и мускл, выводиться нормально тут проблем нет....добавил js чтоб изначально списков видно не было, а при клике на ссылку они вползали....но результат достингут не был, при клике на ссылку ничего не происходит...... вот сам код



PHP код:
<script>
function showhide(el) {
el = document.getElementById(el);
if(el.style.display!='none') {
el.style.display='none';
} else {
el.style.display='block';
}
}
</script>

   
<? 
$result6 
mysql_query ("SELECT * FROM tablic1 ORDER BY id ",$db);
if (
mysql_num_rows($result6) > )
{
    
$myrow6 mysql_fetch_array ($result6);
      do 
      {
      
printf("<a class='tovar_element_0' OnClick='showhide('%s')'>%s</a><br><ul id='%s' style='display:none;'>",$myrow6['id'],$myrow6['rub_name'],$myrow6['id']);
      
$rub=$myrow6['rub'];
      
$result7 mysql_query ("SELECT * FROM tablica2 WHERE rub='$rub'",$db);
          if (
mysql_num_rows($result7) > )
          {
         
$myrow7 mysql_fetch_array ($result7);
          do {  
printf("<li><a class='tovar_cat' href='showtovarcat.php?id=%s'> %s</a></li>",$myrow7['id'],$myrow7['name']);}
          while (
$myrow7 mysql_fetch_array($result7));
          echo 
"</ul>";
          }
        else {echo 
"<p class='sysinfo'>записей нет в таблице </p>";}
      
 
     }
     while (
$myrow6 mysql_fetch_array($result6));
}
else {echo 
"<p class='sysinfo'>записей нет в таблице</p>";}
?>
при чем если без php т.е. только js+html то как нистранно работает....
вот работающая версия js+html

Код HTML:
<script>
function showhide(el) {
el = document.getElementById(el);
if(el.style.display!='none') {
el.style.display='none';
} else {
el.style.display='block';
}
}
</script>
<a OnClick="showhide('1')"> 1</a><br>
<ul id='1' style='display:none;'>
  <li>3-1</li>
  <li>3-2</li>
  <li>3-3</li>
</ul>

<a OnClick="showhide('2')"> 3</a><br>
<ul id='2' style='display:none;'>
  <li>3-1</li>
  <li>3-2</li>
  <li>3-3</li>
</ul>

<a OnClick="showhide('3')"> 3</a><br>
<ul id='3' style='display:none;'>
  <li>3-1</li>
  <li>3-2</li>
  <li>3-3</li>
</ul>/li>
</ul>
в чем дело понять никак не могу
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 27.04.2010, 16:43   #2
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

подозреваемый найден....
чтоб работало php в коде то что должно делаться при онклике должно стоять в одинарных ковычках из за копризной printf....т.е. OnClick='showhide('%s')' и ниче не работает...
просто в хтмл коде с двойными ковчками все рабит....OnClick="showhide('2')"
кто подскажет как поправить?
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 27.04.2010, 20:53   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Либо использовать вместо ' - \', либо
Код:
амперсант#39;
Виталий Желтяков вне форума Ответить с цитированием
Старый 27.04.2010, 23:37   #4
(IICuX)
Пользователь
 
Регистрация: 27.04.2010
Сообщений: 22
По умолчанию

Код:
 printf("<a class='tovar_element_0' OnClick='showhide('\'%s\'')'>%s</a><br><ul id='\'%s\'' style='display:none;'>",$myrow6['id'],$myrow6['rub_name'],$myrow6['id']);
(IICuX) вне форума Ответить с цитированием
Старый 27.04.2010, 23:42   #5
dekameron
Форумчанин
 
Аватар для dekameron
 
Регистрация: 27.04.2010
Сообщений: 185
По умолчанию

Код:
printf("<a class=\"tovar_element_0\" OnClick=\"showhide('%s')\">%s</a><br><ul id=\"%s\" style=\"display:none;\">",$myrow6['id'],$myrow6['rub_name'],$myrow6['id']);
Для удачного прохождения проверки на валидность кода рекомендую названия классов, ИД, ифункций обработки событий заключать в двойные кавычки
Помог - тырк на весы
dekameron вне форума Ответить с цитированием
Старый 27.04.2010, 23:43   #6
(IICuX)
Пользователь
 
Регистрация: 27.04.2010
Сообщений: 22
По умолчанию

Цитата:
Сообщение от dekameron Посмотреть сообщение
Код:
printf("<a class=\"tovar_element_0\" OnClick=\"showhide('%s')\">%s</a><br><ul id=\"%s\" style=\"display:none;\">",$myrow6['id'],$myrow6['rub_name'],$myrow6['id']);
Для удачного прохождения проверки на валидность кода рекомендую названия классов, ИД, ифункций обработки событий заключать в двойные кавычки
ну тогда уже вместо OnClick onclick что уж )
(IICuX) вне форума Ответить с цитированием
Старый 28.04.2010, 00:50   #7
dekameron
Форумчанин
 
Аватар для dekameron
 
Регистрация: 27.04.2010
Сообщений: 185
Смех

Цитата:
Сообщение от (IICuX) Посмотреть сообщение
ну тогда уже вместо OnClick onclick что уж )
ага)))
профтыкал
Помог - тырк на весы
dekameron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP test.php?a=1&b=1 не работает передача параметров бедный_студент PHP 5 25.08.2010 23:08
из js в php неботан PHP 4 29.09.2009 14:12
php 3,0,5 Форсировка PHP 8 20.06.2009 22:59
навигационный способ azl-8 БД в Delphi 1 23.03.2009 18:06