Подскажите в чём проблема, почему нету вывода данных ? Код (Text): <? foreach ($articles as $article): ?> <?=$article['id']?> <? endforeach?>
Код (PHP): <? foreach ($articles as $article): ?> <?php print_r($article);?> <?=$article['id']?> <? endforeach?> Наверно данных нет
Если так Код (Text): var_dump(articles()) то выводит все данные Если так Код (Text): var_dump(articles) то ошибка, "string 'articles' (length=8)" Добавлено спустя 1 минуту 51 секунду: Так выводятся данные Код (Text): function articles() { $mysql="SELECT * FROM news ORDER BY id DESC"; $result=mysql_query($mysql); if(!$result) { die(mysql_error()); } //извлечение из БД $n=mysql_num_rows($result); $articles=array(); for($i=0; $i<$n; $i++) { $row=mysql_fetch_assoc($result); $articles[]=$row; } return $articles; } Потом Код (Text): $articles=articles(); Потом Код (Text): <?foreach ($articles as $article): ?> <?= $article['id'] ?> <? endforeach ?>
ты чертовски невнимателен! во втором случае пропустил "$". переменные начинаются со знака доллар. если его нет, PHP в некоторых случаях предполагает, что это строковая константа у которой забыли поставить кавычки -- в твоем случае так и произошло. включи вывод ошибок, возможно до вывода твоих articles просто не доходит. в начале скрипта: Код (PHP): <?php error_reporting(-1); ini_set('display_errors', 'on'); незачем гадать, PHP сам тебе подскажет
iliavlad, чтобы не возникло недоразумений советуют закрывать. Не работает: Код (PHP): <? $a=array(1,2,3,4,5); foreach($a as $k): echo $k; endforeach; ?> Работает: Код (PHP): <?php $a=array(1,2,3,4,5); foreach($a as $k): echo $k; endforeach; ?> Хз что... Но вот проверяю не хочет))) Только не надо мне говорить, то, что этот тег отключен... У меня последняя версия php где он уже встроен и включен по умолчанию. Косяккккккк Он его за комментарий посчитал, .
<матное слово> ОМГ! У меня тег в коммент оборачивается в исходнике видно... Работает: Код (PHP): <?='String'?> Работает: Код (PHP): <?php echo'String';?> Не работает: Код (PHP): <? echo'String'; ?>
только сейчас заметил какую крутую тему на форуме сделали. даёшь ссылку на пхп.нет/мануал/ру , а её переделывает на пхп.ру/мануал. Your, в твоих примерах по ходу и не работает из-за использования короткого тега.
просто адская фишка! иногда забываю, потом громко ругаюсь и плююсь. Добавлено спустя 4 минуты 21 секунду: будут ли работать короткие теги, зависит от настроек. в принципе этот код хоть и коряво оформлен, но работать может: Код (PHP): <?foreach ($articles as $article): ?> <?= $article['id'] ?> <? endforeach ?> ошибка у автора где-то в другом месте (гусары молчать!)
artoodetoo, да я заметил ошибку. Теперь в обоих случаях выводит содержимое массива. Только проблема не решена. По прежнему не выводит данные мне кажется что то с этим связано, эту настройку можно посмотреть в php.ini ?
это я опечатался. <?php var_dump($articles);?> это прекрасно. меняй код вывода Код (Text): <? foreach ($articles as $article): ?> <?=$article['id']?> <? endforeach?> навот чо Код (Text): <?php foreach ($articles as $article) { echo $article['id']; } ?>
Это я знал, а почему 1-ый вариант не подходит? Добавлено спустя 2 минуты 15 секунд: так же удобней потом будет при вёрстке и т.д.
ну должен работать. пробуй тогда так: Код (Text): <?php foreach ($articles as $article): ?> <?php echo $article['id']?> <?php endforeach?> если работает - значит надо включить шорттаги
шорттаги надо включить чтобы работало в сокращенном виде <?=$article['id']?> а иначе только <?php echo...
я бы посоветовал так: "чтобы работало - не используй короткие теги". хотя бы потому, что решение данной проблемы растянулось на пару суток. а ведь её вообще не могло бы быть.
Ну мне хочется знать и пользоваться различными методами вывода данных,хотя бы для того, чтобы быть квалифицированней.