在数据库

时间:2015-06-27 20:10:43

标签: php mysql database html-table gallery

我有一个图库,图片通过MySQL数据库上传,并在我的网站上显示在表格中。问题是,图像被插入一行。我需要有人将我的脚本更改为每3列(图片)后添加新行的位置。

之前我问过这个问题,但删除了这个帖子,所以我可以重新开始。我做了很多研究并学到了一些东西,但我无法弄清楚如何编写脚本来满足我的需求。

脚本:

<table width="100%" border="1" cellspacing="0" cellpadding="4">

<?php
$sql = "SELECT * FROM ".$SETTINGS["data_table"]." ORDER BY id ASC";
$sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
if (mysql_num_rows($sql_result)>0) {
    while ($row = mysql_fetch_assoc($sql_result)) {
?>
  <tr>
    <td><a href="<?php echo $row["link"]; ?>" target="_blank"><?php echo $row["img"]; ?></a><br>Size: <?php echo $row["size"]; ?><br>Views: <?php echo $row["clicks"]; ?></td>
</tr>
<?php
    }
} else {
?>
<tr><td colspan="3">No results found.</td>
<?php   
}
?>

</table>

2 个答案:

答案 0 :(得分:1)

您需要不是每次迭代都打开和关闭标记,而是每3次迭代。生成的代码可能如下所示:

  <table width="100%" border="1" cellspacing="0" cellpadding="4">

    <?php
    $sql = "SELECT * FROM ".$SETTINGS["data_table"]." ORDER BY id ASC";
    $sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
    if (mysql_num_rows($sql_result)>0) {
        $i=0;
        while ($row = mysql_fetch_assoc($sql_result)) {
            if ($i++ % 3 == 0) echo "<tr>";
    ?>    
            <td><a href="<?php echo $row["link"]; ?>" target="_blank"><?php echo $row["img"]; ?></a><br>Size: <?php echo $row["size"]; ?><br>Views: <?php echo $row["clicks"]; ?></td>
    <?php
            if ($i % 3 == 0) echo "</tr>";
    ?>
    <?php
        }
        if ($i % 3 != 0) echo "</tr>";
    } else {
    ?>
    <tr><td colspan="3">No results found.</td>
    <?php   
    }
    ?>

</table>

答案 1 :(得分:-1)

如果($ i%3 == 0)回显“”,则您得到此答案的人;是救星。我在JavaScript中尝试了很多。但没有忘记我可以在后端执行此操作。