【问题标题】:How to embed bootstrap code into PHP tags如何将引导代码嵌入 PHP 标签
【发布时间】:2020-12-26 00:55:52
【问题描述】:
<?php
$con=mysqli_connect("localhost","root","","testdatabase");
// Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM testtable");

echo "<table border='1'>
        <tr>
            <th>Firstname</th>
            <th>Last name</th>
        </tr>";

while($row = mysqli_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['firstname'] . "</td>";
    echo "<td>" . $row['lastname'] . "</td>";
    echo "</tr>";
}
echo "</table>";

while($row = mysqli_fetch_array($result)) {
    echo "<div class='card' style='width: 18rem;'>";
        echo "<img class='card-img-top' src='' alt='Card image cap'>";
        echo "<div class='card-body'>";
            echo "<h5 class='card-title'>" . $row['firstname'] . "</h5>";
            echo "<p class='card-text'>" . $row['lastname'] . "</p>";
            echo "<a href='' class='btn btn-primary'>Go somewhere</a>";
        echo "</div>";
    echo "</div>";
}

mysqli_close($con);
?>

这是 homepage.php 中代码的一部分,其中还包含 HTML 代码并使用 Bootstrap。当通过 XAMPP 打开网页时,一切正常(包括从表中获取数据的表),但 Bootstrap 卡不起作用。

【问题讨论】:

  • 你是否包含了所需的css、js文件?
  • “不起作用”不是错误消息或问题陈述。我们无法在代码中修复“不工作”,就像机械师无法修复“不工作”的汽车一样,没有任何关于问题的其他信息。它怎么不工作?运行代码时究竟会发生什么?你期望会发生什么?
  • 如果我不得不猜测,我会说卡片的 HTML 可能根本没有被呈现(您可以检查浏览器中的查看源代码功能以确定)?如果是这样,那可能是因为您连续有两个 while($row = mysqli_fetch_array($result)) 循环。当然,第二个不会运行,因为您已经在第一个循环中获取了所有行,并且它不会重置。更好的方法是先将所有查询数据放入一个数组中,然后您可以随意循环该数组。
  • 好的 @ADyson 立即尝试您建议的编辑
  • 好吧,但这就是你所说的。而你得到的错误听起来就像你那样做。如果您不显示代码或任何内容,我们只能按照您告诉我们的内容进行处理:-)。无论如何,很高兴你修复了它,我在下面添加了完整的答案。

标签: php html sql bootstrap-4


【解决方案1】:

几乎可以肯定,卡片的 HTML 根本没有被渲染(您可以检查浏览器中的查看源代码功能来确定)。

那是因为你有两个连续的while($row = mysqli_fetch_array($result)) 循环。第二个不会运行,因为您已经获取了第一个循环中的所有行,并且它不会重置 - 第一个循环运行直到 mysqli_fetch_array() 返回 false。之后,无论您是否开始新的循环,它都会对该查询结果返回 false。

更好的方法是先将所有查询数据放入一个数组中,然后您可以随意循环该数组:

$result = mysqli_query($con,"SELECT * FROM testtable");
$rows = array();

while($row = mysqli_fetch_array($result))
{
  $rows[] = $row;
}

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";

foreach ($rows as $row)
{
  echo "<tr>";
  echo "<td>" . $row['firstname'] . "</td>";
  echo "<td>" . $row['lastname'] . "</td>";
  echo "</tr>";
}
echo "</table>";

foreach ($rows as $row)
{
  echo "<div class='card' style='width: 18rem;'>";
  echo "<img class='card-img-top' src='' alt='Card image cap'>";
  echo "<div class='card-body'>";
  echo "<h5 class='card-title'>" . $row['firstname'] . "</h5>";
  echo "<p class='card-text'>" . $row['lastname'] . "</p>";
  echo "<a href='' class='btn btn-primary'>Go somewhere</a>";
  echo "</div>";
  echo "</div>";
}

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2014-05-02
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多