【问题标题】:Add tr after 4 uploaded images在上传 4 张图片后添加 tr
【发布时间】:2014-05-17 17:05:39
【问题描述】:

我想要一个上传图片的画廊,每个 tr 显示 4 张图片。 某处需要有一个循环,但我无法让它工作。 当一个tr有4张图片时,需要自动添加一个tr。

<?php
    $folder = 'uploads/';
    $filetype = '*.*';
    $files = glob($folder.$filetype);
    $count = count($files);

    $sortedArray = array();
    for ($i = 0; $i < $count; $i++) {
        $sortedArray[date ('YmdHis', filemtime($files[$i]))] = $files[$i];
    }

    krsort($sortedArray);
    echo '<table>';
    foreach ($sortedArray as &$filename) {
        echo '<td align="center">';
        echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
        echo 'Bestand naam: ' . substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
        echo '</td>';
    }
    echo '</table>';

?>

【问题讨论】:

    标签: php html html-table


    【解决方案1】:

    让一个计数器,比如说 $i 在你的 foreach 循环旁边运行,每次循环运行时都会增加一个。使用 if ($i % 4 ==0) 检查“每四个元素”

    【讨论】:

    • 你能在我的代码中显示它吗?我只是从 PHP 开始
    【解决方案2】:

    在循环中使用计数器。它应该是这样的:

    echo '<table>';
    $ctr = 0;
    foreach ($sortedArray as &$filename) {
        echo ($ctr % 4 == 0) ? "<tr>" : "";
        echo '<td align="center">';
        echo '<a name="'.$filename.'" href="#'.$filename.'"><img src="'.$filename.'" /></a>';
        echo 'Bestand naam: ' . substr($filename,strlen($folder),strpos($filename, '.')-strlen($folder));
        echo '</td>';
        $ctr++;
        echo ($ctr % 4 == 0) ? "</tr>" : "";
    
    }
    echo '</table>';
    

    【讨论】:

    • 不是这样。我得到第一行 1 然后 3 然后 1 再次
    • 我注意到,我把计数器增量放在了错误的地方,这就是原因。我已经更新了我的答案,请立即尝试,现在看起来还可以。 Here's my test.
    • 也谢谢你,如果你觉得我的回答有用,请点赞!欢迎使用 StackOverflow!
    【解决方案3】:
    <?php
    $folder = 'uploads/';
    $filetype = '*.*';
    $files = glob($folder . $filetype);
    $count = count($files);
    $sortedArray = array();
    $i = 0;
    krsort($sortedArray);
    echo '<table><tr>';
    
    foreach($sortedArray as & $filename)
    {
        echo '<td align="center">';
        echo '<a name="' . $filename . '" href="#' . $filename . '"><img src="' . $filename . '"/> </a>';
        echo 'Bestand naam: ' . substr($filename, strlen($folder) , strpos($filename, '.') - strlen($folder));
        echo '</td>';
        if ($i % 4 == 0)
        {
            echo '</tr><tr>';
        }
    
        $i++;
    }
    
    echo '</tr></table>';
    ?>
    

    【讨论】:

      猜你喜欢
      • 2017-04-20
      • 1970-01-01
      • 2015-06-18
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2020-09-26
      相关资源
      最近更新 更多