首页 > 解决方案 > 在循环内为 HTML 制作换行符 For PHP

问题描述

第一部分对应于我调用执行 for 循环的文件的 js 代码,但它没有给我换行符,将所有内容放在一列中。

<script>
$(document).ready(function() {
$("#nivel-especialidad").change(function() {
$("#nivel-especialidad option:selected").each(function() {
    Id = $(this).val();
    $.post("../Sql/ArregloRequisitos.php", {Id: Id
        }, function(data){
            $("#requisitos-nivel").html(data);
        });
    });
})
});
</script>

第二部分是 For 循环中的 HTML 代码:

<?php
$conexion = new PDO("mysql:host=localhost;dbname=scouts_601_palmira","root","");

$Id_nivel = $_POST['Id'];

echo '<script type="text/javascript">alert("'.$Id_nivel.'");</script>';

$sql3 = "SELECT Id, Texto FROM Requisitos WHERE Id_nivel =".$Id_nivel."";
$sentencia3 = $conexion -> prepare($sql3);
$sentencia3 -> execute();
$requisitos = $sentencia3 -> fetchAll();

echo "<tr>";
for ($i = 0, $contador=1; $i < count($requisitos); $i++, $contador++) {?>
<td>
<div class="card" style="width: 20rem;">
        <!--<img class="card-img-top" src="..." alt="Card image cap">-->
        <div class="card-body">
            <p class="card-text"><?php
            echo $requisitos[$i]['Texto'];
            ?></p>
            <input type="checkbox">
        </div>
    </div>
</td>
<?php if(($contador%3) == 0) {
    echo "</tr><tr>";
}
}
echo "</tr>";
?>

实际上,代码将所有内容打印在单个列中,一个 div 在另一个上。我想要的是,正如最后所说的 if 条件,它是并排显示一个 div 并且当已经显示了三个(列)时,进行换行,并重复此操作直到打印所有数据来自 BD。

我提前感谢您对此问题的任何解决方案。

目前它看起来像这样: 在此处输入图像描述 我希望它看起来像这样: 在此处输入图像描述 我认为,这是不方便的: 在此处输入图像描述

标签: javascriptphpfor-loop

解决方案


推荐阅读