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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 08:49   #1
alexeevich
 
Регистрация: 25.11.2008
Сообщений: 3
По умолчанию Не выполняется весь цикл

Здравствуйте, есть рекурсивная функция
PHP код:
function GetMenuTree($id_menu$space$section_id)
{
  
$query2 mssql_query("SELECT * FROM table WHERE root_id = ".$id_menu);
  if (
mssql_num_rows($query2) > 0)
  { 
    while (
$result2 mssql_fetch_array($query2))
    {
      return 
'данные из базы'
              
."\n".GetMenuTree($result2['f_id'], $space.'  '$section_id);
    }
  }  

но цикл while выполняется только 1 раз, хотя из базы подтягивается 2 строки
В чем может быть проблема?
alexeevich вне форума Ответить с цитированием
Старый 25.08.2010, 09:20   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

return прерывает выполнение ф-ии, соответсвенно его первое срабатывание = последнее
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 26.08.2010, 17:21   #3
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
рекурсивная функция
та функция что вы преставили - не рекурсивная.
ssdm вне форума Ответить с цитированием
Старый 30.08.2010, 11:52   #4
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
та функция что вы преставили - не рекурсивная.
ой, функция то действительно рекурсивная ( не заметил вызов функции в return)..
ну так mv28jam ответил на твой вопрос ?
ssdm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не выполняется условие Link12 Общие вопросы C/C++ 6 30.03.2010 19:36
Компилируется,но не выполняется. Lunex.08 C++ Builder 6 19.11.2009 12:17
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34