За последние 24 часа нас посетили 16628 программистов и 1651 робот. Сейчас ищут 1287 программистов ...

Цикл Foreach при использовании Mysql

Тема в разделе "MySQL", создана пользователем Абабинили, 30 окт 2016.

Метки:
  1. Абабинили

    Абабинили Новичок

    С нами с:
    30 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    при выборе отельной статьи выводит ошибку и ссылается на цикл, не могу понять в чем причина

    Notice: Undefined variable: articles in C:\xampp\htdocs\blog\views\articles.php on line 16

    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\blog\views\articles.php on line 16

    PHP:
    1. <h1>Мой первый блог
    2. </h1>
    3. <a href="admin">Панель администратора</a>
    4. <div>
    5. <?php foreach ($articles as $a): ?>
    6. <div class="article">
    7. <h3 class="article"><a href="article.php?id=<?=$a['id']?>">
    8. <?=$a['title']?></a>
    9. </h3>
    10. <em>Опубликовано: <?=$a['date']?></em>
    11. <p><?=$a['content']?></p>
    12. </div>
    13. <?php endforeach?>
    14. </div>
    15. <div class="article">
    16. <footer>
    17. <p>мой первый блог copyryth &copy;2016</p>
    18. </footer>
    19. </div>
    это часть кода на которую ругается, помогите плиз понять в чем соль
     
    #1 Абабинили, 30 окт 2016
    Последнее редактирование модератором: 30 окт 2016
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.861
    Симпатии:
    751
    Адрес:
    Татарстан
    С английским совсем плохо?
    Черным по русскому пишет же что у вас неопределенна переменная $articles
    Ну и тем более вы пытаетесь потом как то её в цикле прогонять
     
  3. Абабинили

    Абабинили Новичок

    С нами с:
    30 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    я чайниковат видимо, то что написано я понял. Код был переписан с гайда, там слово в слово написано и у человека всё работает. У цикла как должно бы было быть значение $article as $a. Я не понимаю пока этого, обьясните если не сложно
    --- Добавлено ---
    т.е. он считает что article пустой ?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    foreach ждёт массив, но в $article не массив. Что-то до этого кода произошло и пошло не так.
    Возможно sql запрос вернул ноль результатов или в нём ошибка.
     
  5. Абабинили

    Абабинили Новичок

    С нами с:
    30 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    хорошо, я проверю sql запросы. потом отпишусь
     
  6. Абабинили

    Абабинили Новичок

    С нами с:
    30 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    Проверил код, нашёл ошибку. Теперь выводится блог полностью из базы но отдельные статьи выводить не хочет, ссылается на недоступность сервера.
    Object not found!
    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

    If you think this is a server error, please contact the webmaster.

    Error 404
    localhost
    Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.23
    с такой ошибкой я пока не встречался, как лечить пока не понимаю
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    возможно apache так настроен, что если происходит ошибка, то вместо того чтобы её показать, он показывает свою заглушку,
    в самом php можно указать error log в php.ini и если были ошибки, то php создаст в той же папки что и php файл в котором ошибка произошла ещё один файл с текстом ошибки, имя у файла будет, то что задано в php.ini у error log.
    ещё в php можно включить отображение ошибок


    отладка/debug
    http://phpfaq.ru/debug
    https://netbeans.org/kb/docs/php/debugging_ru.html
    https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550