列数受限的 PHP 可变表大小

标签 php mysql html

我正在尝试在表格中进行图像预览,只是为了检查提交的文件。该表不能超过 3 列,行数和单元数是可变的,因为我跳过了数据库中“未找到”的图像。 我做了下面的代码,但无法自己解决逻辑。该表显示行相同的图像,并为下一个跳转 2 个结果。

    <?php
        $dados      = mysql_fetch_array (mysql_query("SELECT id,placa,usuario FROM dados WHERE id='".$_SESSION['novaOS']."'"));
        $itens      = mysql_result (mysql_query("SELECT itens_acessorios FROM vist_aval WHERE idp='".$_SESSION['novaOS']."'"),0);

        $sqlFotos   = "SELECT * FROM imagens WHERE idp='".$_SESSION['novaOS']."'";
        $qrFotos    = mysql_query($sqlFotos) or die();
        $rowFotos   = mysql_fetch_array($qrFotos) or die();
    ?>

    (...)

    <div>
        <table>
            <?php
                $dir_img = "../uploads/fotos/";
                for($f=2;$f<=33;){
                    $foto = $rowFotos[$f];
                    $td = '<td><img src="'.$dir_img.''.$foto.'" style="margin:0;width:100%;height:auto"></td>';
                    $tr = '<tr id="gridpreview"></tr>';
                    if ($foto != false){
                        for ($r=0;$r<=3;$r++){
                            if ($r>0){
                                echo $td;
                                $f++;
                            }
                            else{
                                echo $tr;
                            }
                        }
                    }
                }
            ?>
        </table>
    </div>

Generated Table

上瘾时,加载时出现“ fatal error :C:\xampp\htdocs\app\Finalizar.php 第 88 行中超过 30 秒的最大执行时间”消息。第 88 行引用了 if ($foto != false)

最佳答案

那不是你做柱状输出的方式。应该更像

$col = 0;
echo '<tr>';
while($row = ... fetch row from result ...) {
    echo "<td>$row[whatever]</td>";
    $col++;
    if ($col > 2) {
       echo '</tr><tr>';
       $col = 0;
    }
}
echo '</tr>';

您不需要两个循环,只需要一个循环,它会不断重复,直到数据库中没有更多结果为止。

关于列数受限的 PHP 可变表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39666663/

相关文章:

php - 如何比较两个非常大的字符串

php - 将视频添加为收藏夹的逻辑。

php - Codeigniter 更新方法

php - magento 中各州的销售报告

MySQL 存储过程与 PHP 脚本

php - 如果搜索字符串与 2 列匹配,则多次返回同一行 - Mysql

html - 有没有办法在 outlook.com 中为电子邮件制作背景图像而无需重复?

php - 什么是 php_binary 序列化处理程序?

html - CSS 溢出 : auto hiding tooltip

javascript - Dojo StackContainer 无法正确显示小部件