@Ste11

Массив не исходит из базы, как исправить?

Не могу понять, как это исправить! Не выполняет итерацию по массиву того, что поступает из базы данных, хотя я делаю var_dump $row, и есть массив всех данных из базы данных, но я повторяю этот массив, и он пишет мне
Warning: Illegal string offset 'name'


Что делать? Помогите!!!!

Вот код моего View:
<?php require_once('./views/layout/header.php'); ?>
    <div class="page">
        <section class="feed">
            <h2>Лента</h2>


        <?php if (isset($row) && is_array($row)): ?>

            <?php foreach ($row as $feed): ?>
                <?php var_dump($feed); ?>
            <div class="feed__container">
                <img src="../../assets/image/<?php echo $feed['image']; ?>">
                <div class="name_feed"><a href="/feed/article/<?php echo $feed['uid']; ?>"><?php echo $feed['name']; ?></a></div>
            </div>
            <?php endforeach; ?>

        <?php endif; ?>
            <?php echo $pagination->get(); ?>
        </section>
    </div>
<?php require_once('./views/layout/footer.php'); ?>


Вот код моей модели:

<?php


class Feed
{

    public static function getAllFeed($page = 1) {
        $page = intval($page);
        $offset = ($page - 1) * 3;

        $db = Db::getConnection();

        $sql = "SELECT id, name, image, uid FROM feed LIMIT 3 OFFSET $offset";
        $result = $db->query($sql);
        if ($result) {
            $row = $result->fetch();
            return $row;
        }
    }
}


Вот код моего контроллера:
<?php


class FeedController
{
    public function actionIndex($page = 1) {
        $userId = User::checkLogged();
        $user = User::getUserById($userId);

        $row = array();
        $row = Feed::getAllFeed($page);

        $total = Feed::getTotal();

        $pagination = new Pagination($total, $page, 3, '');


        require_once(ROOT.'/views/feed/all_feed.php');
        return true;
    }
}
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
Belarus007
@Belarus007
Замени
$row = $result->fetch();
на
$row = $result->fetchAll();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
ты пытаешься обойти запись/строку циклом
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы