文章标题在foreach循环中多次显示

问题描述 投票:0回答:1

文章标题在foreach循环中多次显示

这是articles.php

<?php
    include('functions.php');
    $article = new Article;
    $articles = $article->fetch_all();
?>
<html>
    <head>
        <title>Sample Blog</title>
        <link rel = "stylesheet" type = "text/css" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
    </head>
    <body>
        <div class="container">
            <div class="col-sm-6">
            <h1 class="text-center">Articles</h1>   </div>
            <ol>
                <?php
                    foreach($articles as $article){?>
                    <li>
                        <a href="article.php?id=<?php echo $articles["article_id"];?>">
                            <?php echo $articles["article_title"];?>
                        </a>
                    </li>
                    <?php
                    }
                ?>
            </ol>
        </div>
    </body>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</html>

这是functions.php代码

<?php
    require ('config.php');
    if (!$connection) {
        echo "Failed to connect to Server!".mysqli_connect_error();
    }
    class Article{
        public function fetch_all(){
            $connection = mysqli_connect(host,username,password,database) or die("Unable to connect to the host");
            $select = "SELECT * FROM articles";
            $result = mysqli_query($connection,$select) or die(mysqli_error($connection));  
            return (mysqli_fetch_assoc($result));
        }

    }
?>

这是输出的屏幕截图

Screenshot

php loops mysqli foreach article
1个回答
2
投票

问题出在你的循环中。你在叫$articles["article_id"]$articles["article_title"]。你想要$article["article_id"]$article["article_title"]

foreach($articles as $article){?>
<li>
    <a href="article.php?id=<?php echo $article["article_id"];?>">
        <?php echo $article["article_title"];?>
    </a>
</li>
<?php
}
© www.soinside.com 2019 - 2024. All rights reserved.