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 :: Не выполняется цикл в теле функции
Работает как положено.
Подскажите пожалуйста что не так?
DeepVarvar
Отправлено: 29 Июля, 2010 - 13:38:54
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Во первых ваша переменная $row это массив - зачем вызывать ее инициализацию в цикле и вообще более одного раза?
Во вторых функция сделает в вашем примере (который выше) "return" всего один раз и завершится...
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
DeepVarvar пишет:
Во первых ваша переменная $row это массив - зачем вызывать ее инициализацию в цикле и вообще более одного раза?
Во вторых функция сделает в вашем примере (который выше) "return" всего один раз и завершится...
Хорошо, как тогда сделать вывод всех данных из таблицы в бд в нужном мне порядке при помощи функции?
DeepVarvar
Отправлено: 29 Июля, 2010 - 13:49:07
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Что делает mysql_fetch_array я знаю, поэтому и написал такую функцию, взял массив с данными нужными мне, запустил цикл для того что бы вытащить все данные из массива в нужном мне порядке.
Вот только не могу понять почему за пределами функции цикл работает т.е. вытаскивает из массива все строки а в пределах функции только первую и останавливается?
Саныч
Отправлено: 29 Июля, 2010 - 14:02:02
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
viperdev пишет:
Вот только не могу понять почему за пределами функции цикл работает т.е. вытаскивает из массива все строки а в пределах функции только первую и останавливается?
Вам уже ответили выше! return останавливает функцию и возвращает результат
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Саныч пишет:
viperdev пишет:
Вот только не могу понять почему за пределами функции цикл работает т.е. вытаскивает из массива все строки а в пределах функции только первую и останавливается?
Вам уже ответили выше! return останавливает функцию и возвращает результат
Очень хороший ответ))))) цикл то внутри функции. (Добавление)
DeepVarvar пишет:
$row=mysql_fetch_array($dbresult,MYSQL_ASSOC)
И что таким образом? что это даст? ассоциативный массив) а толку с него?
Массив с данными получен и данные из него успешно извлекаются хоть MYSQL_BOTH напиши хоть MYSQL_ASSOC.
Вопрос не в этом(
DeepVarvar
Отправлено: 29 Июля, 2010 - 14:08:46
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Я выше уже написал как сделать...
viperdev пишет:
Что делает mysql_fetch_array я знаю
А вот что делается внутри while и как ведет себя оператор return - видимо не знаете... (Добавление)
[url]http://forum.php.su/topic.php?forum=1&topic=4529&postid=1280401726#[/url]
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
viperdev пишет:
Очень хороший ответ))))) цикл то внутри функции.
Ну так все правильно... У вас внутри цикла return, который, как я писал выше останавливает функцию и возвращает результат. Именно по этому выводится только первая строка и функция заканчивается...
Чтобы выводилось все используйте вариант, который предложил DeepVarvar
Покинул форум
Сообщений всего: 54
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Народ я понимаю что вы очень умные, я у вас просил совета а кучу ссылок на то что я и так знаю.
Не можете помочь так не флудите хотябы(
Потому что от того напишу я:
Большое спасибо, теперь разобрался) , даже как то не сообразил что можно данные занести в переменную $text а в конце после того как цикл пройдет вывести через return.
Еще раз спасибо за помощь новичку, надо быть внимательней к мануалам по php)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.