Php 如何自动将div分成两部分

Php 如何自动将div分成两部分,php,html,css,Php,Html,Css,以下元素来自一个数据库表 <div id="some_content"> <a href="#">Data1</a><br> <a href="#">Data2</a><br> <a href="#">Data3</a><br> <a href="#">Data4</a><br> <a href="#">Dat

以下元素来自一个数据库表

<div id="some_content">
  <a href="#">Data1</a><br>
  <a href="#">Data2</a><br>
  <a href="#">Data3</a><br>
  <a href="#">Data4</a><br>
  <a href="#">Data5</a><br>
</div>






可能有超过50个元素的情况,如果发生这种情况,我不希望我的页面窗口溢出(并滚动)

我只想要两列

它应该自动将行数调整为一列/两列

每当有超过10个元素时,我希望网页中有两列。现在可以有n个
a
元素


如果有50个,那么它应该自动调整每列25个,如果有30个,那么每列15个。

这只是简单的数学。。。做一些类似于:

$number_of_columns = count($items) > 10 ? 2 : 1; // If more then 10, 2 columns
$number_of_items_per_column = floor($items / $number_of_columns); // Floor is needed because the result can be a fraction

while( $item = mysqli_fetch_array( ... ) ) {
    if( $i === $number_of_items_per_column ) {
        echo '</div><div>'; // close column and open new one
    }
    echo $item; // yeah not exactly like this, but you get the point
    $i++;
}
$number\u of\u columns=计数($items)>10?2 : 1; // 如果超过10,则为2列
$number_of_items_per_column=楼层($items/$number_of_columns);//因为结果可能只是一小部分,所以需要地板
而($item=mysqli\u fetch\u数组(…){
如果($i==$U每列的项目数量){
回显“”;//关闭列并打开新列
}
echo$item;//是的,不完全像这样,但你明白了
$i++;
}

如果有50个元素,您将有5列。所以我不明白你的“我只想要两列”部分。我不明白你到底问了什么。。。如果您已经使用php(因为您说这些值“来自数据库”),那么显然您必须扩展脚本实现,以便它创建两个
共容器,而不是一个(或任何您喜欢的结构).答案只有一半-他还需要一些JavaScript来调整显示结果的数量,使其保持在页面窗口的范围内。出于好奇,什么是
$++
?打字错误?@Jonathan应该是
$i++
当然;)我不读他的问题,因为他希望所有的内容总是在屏幕上(这将很难,因为最终你将不得不垂直或水平滚动)。我只是读它,因为他希望结果是在2列时,有超过10个结果。。。这个半伪代码应该会做一些技巧。我以为它是
$I++
,但不想做出任何愚蠢的假设。无论如何,我认为OP没有做任何研究,所以你实际上是在为他做工作,这让我觉得有点恶心。我很乐意把它作为解决方案,IMHO。是的,他可能会因为我没有申报$I;,而被抛出一个通知错误。)他需要找出断点是不正确的,所以他还有足够的工作要做:p