在PHP中将MySQL数据格式化为下一列的最简单方法

时间:2013-08-08 15:55:19

标签: php javascript mysql

我的数据目前正在输出到某个范围......这就是它的外观:

as a span

enter image description here

现在,当我删除跨度并放置一个div时,我得到了这个输出:

enter image description here

这是理想的,但我想为页面设置一个高度,并让数据显示在3列中。我该怎么做?我已经在网上到处搜索,但似乎无法找到任何显示解决方案的内容。

我确实读过有些人使用javascript格式,但我仍然对这个选项一无所知。

我想要的输出如下:

enter image description here

3 个答案:

答案 0 :(得分:1)

如果你知道列中你想要多少项,那么你可以将它们分成单独的div,然后将这些div浮动到左边以使它们彼此相邻。

<div style='float:left'>
    //Items go here
</div>
<div style='float:left'>
    //Items go here
</div>

等。 如果你弄清楚你的查询返回了多少项,比如使用mysql_num_rows()并除以3就可以知道每列中放入多少项。 另外一定要清除后面的花车,所以这样:

<div style="clear:both"></div>

有时这是必要的,因为如果没有这样的话会有随机问题。

答案 1 :(得分:0)

您所描述的内容只能通过样式解决。您有几个必须在列中显示的div。最简单的方法是将它们浮动到左侧,并将宽度设置为父级的1/3。如果需要4列,请将with设置为父列的1/4,依此类推。

<div class='sqlResult' style="float:left;width:33%;">
<a href='#'>$key</a>
</div>

同样提到的其他答案,请勿使用重复的ID。总是使用课程。如果您需要单独定位每个div,请为其指定唯一ID,例如“category_1”,“category_2”等。

答案 2 :(得分:0)

这应该有效

<table><tr>
<?php $count=0; $total=mysqli_stmt_num_rows($sql)-1; $idxcount=0; $limit=10; while($row = mysqli_fetch_array($sql)): $key = $row['Keyword_Name']; ?>
        <?php if($count == 0){ echo '<td>';} ?>
        <span>
                <a href="<?php echo $key; ?>" id="category"><?php echo $key; ?></a>
        </span>
        <?php if($total == $idxcount): ?>
                </td>
        <?php elseif($count == $limit): ?>
                </td>
        <?php $count=0; else: $count++; ?>

        <?php  endif; $idxcount++; ?>

<?php endwhile; ?>
</tr></table>