PHP变量表大小,列数受限制

时间:2016-09-23 17:44:50

标签: php mysql html5

我正在尝试在表格中进行图像预览,只是为了检查提交的文件。该表不能超过3个cols,并且行和cels的数量是可变的,因为我跳过DB中的“未找到”图像。 我做了下面的代码,但是我自己无法解决这个问题。该表显示了行的相同图像,并为下一个图像跳过了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

另外,加载时会出现消息“致命错误:第88行C:\ xampp \ htdocs \ app \ Finalizar.php超过30秒的最长执行时间”。第88行引用if ($foto != false)

2 个答案:

答案 0 :(得分:1)

这不是你如何进行柱状输出。它应该更像是

$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>';

你不需要两个循环,只需要一个循环,它会一直重复,直到数据库中没有剩余结果为止。

答案 1 :(得分:0)

只需注册功能代码:

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