尝试在php中创建循环引导卡

尝试在php中创建循环引导卡,php,html,bootstrap-4,Php,Html,Bootstrap 4,我对php和mysqli相当陌生,正在尝试创建一些基本的网站 基本上,我想在php中创建一个循环语句,在同一行中创建具有相同大小和颜色的卡片,而无需自己在html中手动创建卡片 使用bootstrap、php和mysqli 我使用的数据库包含itemname(varchar)、itemprice(varchar)和itemimage(mediumblob) 代码正在成功运行,但输出与引导卡不匹配,并且它们拒绝在同一行中 有人能帮我吗? 多谢各位 我假设您已经测试过,您的查询结果中确实存在数据

我对php和mysqli相当陌生,正在尝试创建一些基本的网站

基本上,我想在php中创建一个循环语句,在同一行中创建具有相同大小和颜色的卡片,而无需自己在html中手动创建卡片

使用bootstrap、php和mysqli

我使用的数据库包含itemname(varchar)、itemprice(varchar)和itemimage(mediumblob)

代码正在成功运行,但输出与引导卡不匹配,并且它们拒绝在同一行中

有人能帮我吗? 多谢各位


我假设您已经测试过,您的查询结果中确实存在数据

复制并更新了一点代码。几件事:

  • 您可以在
    if()
    语句的
    else
    中关闭一个div(用于行),但可以在
    if()
    侧打开它
  • 只要正确使用


">

价格:


我假设您已经测试过,您的查询结果中确实存在数据

复制并更新了您的代码。几件事:

  • 您可以在
    if()
    语句的
    else
    中关闭一个div(用于行),但可以在
    if()
    侧打开它
  • 只要正确使用


">

价格:


您试图调试该问题的原因是什么?您是否尝试过检查预期的输出,将其与您的PHP代码进行匹配,并查看缺少的内容?因为我们猜不出我试图在不使用数据库的情况下“手动”以html/css创建卡片,以防html语法错误。在输出符合我的要求后,我尝试创建循环,从mysql数据库中提取变量和图像,并将其实现为html。并成功地读取了数据库、表和内容。但结果并不正确。我确实上传了问题中的输出。如果您没有提供预期的标记结构,那么您可以检查它。此外,您是否尝试将当前标记与预期标记进行比较?解决了,我忘记更改此php文件中的引导目录。。。很抱歉,你试过调试这个问题吗?您是否尝试过检查预期的输出,将其与您的PHP代码进行匹配,并查看缺少的内容?因为我们猜不出我试图在不使用数据库的情况下“手动”以html/css创建卡片,以防html语法错误。在输出符合我的要求后,我尝试创建循环,从mysql数据库中提取变量和图像,并将其实现为html。并成功地读取了数据库、表和内容。但结果并不正确。我确实上传了问题中的输出。如果您没有提供预期的标记结构,那么您可以检查它。此外,您是否尝试将当前标记与预期标记进行比较?解决了,我忘记更改此php文件中的引导目录。。。对不起。
<?php function createCard(array $row) { ?>
    <div class="col-4">
        <div class="card">
            <img height="250"
                 width="250"
                 class="card-img-top"
                 src="data:image/jpeg;base64,<?= base64_encode($row['itemimage']) ?>">
            <div class="card-body">
                <h5 class="card-title"><?= $row["itemname"] ?></h5>
                <p class="card-text">Price : <?= $row["itemprice"] ?></p>
            </div>
        </div>
    </div>
<?php } ?>

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <div class="container">
        <div class="row">
        <?php

        require 'dbh.inc.php';

        $sql  = "SELECT * FROM item";
        $stmt = mysqli_stmt_init($conn);

        if (!mysqli_stmt_prepare($stmt, $sql)) {
            echo "error";
        } else {
            mysqli_stmt_execute($stmt);
            $result = $stmt->get_result();
            if ($result->num_rows > 0) {
                while ($row = $result->fetch_assoc()) {
                    createCard($row);
                }
            }
        }
        $conn->close();
        ?>
        </div>

        <script src="bootstrap/js/jquery-3.3.1.min.js"
                integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
                crossorigin="anonymous"></script>
        <script src="bootstrap/js/popper.min.js"
                integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
                crossorigin="anonymous"></script>
        <script src="bootstrap/js/bootstrap.min.js"
                integrity="sha384-7aThvCh9TypR7fIc2HV4O/nFMVCBwyIUKL8XCtKE+8xgCgl/PQGuFsvShjr74PBp"
                crossorigin="anonymous"></script>
    </div>
</body>
</html>