Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在while循环中生成更多列?_Php - Fatal编程技术网

Php 如何在while循环中生成更多列?

Php 如何在while循环中生成更多列?,php,Php,我有这个密码 while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) { echo " <div><h4><a href=\"page.php?id={$row['subcategory_id']}\">{$row['subcategory']}</a></h4> </div>\n"; } 我想将这些子类别限制为1

我有这个密码

while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) {

        echo "
        <div><h4><a href=\"page.php?id={$row['subcategory_id']}\">{$row['subcategory']}</a></h4>
        </div>\n";

    }
我想将这些子类别限制为10个,每10个之后再从顶部开始,如下所示:

foo foo foo
foo foo foo
foo foo foo
foo foo foo
foo foo foo
foo foo foo
foo foo foo

有人能告诉我怎么做吗?

下面是一个有效的例子:

下面是一个使用您自己的代码的示例:

// get your array in a var
$array = mysqli_fetch_all($r, MYSQLI_ASSOC);

// set column to 10 items tall
$col_height = 10; 

// count the array
$count = count($array);

// determine number of columns based on column height and array size
$row_len = $count / $col_height;

//create iterator
$i = 0;

// loop that shits
foreach($array as $row) {

    // added display = inline 
    echo "<div style='display:inline-block;'><h4><a href=\"page.php?id={$row['subcategory_id']}\">{$row['subcategory']}</a></h4></div>\n";

    // echo a line break only when needed, reset the iterator
    if($i == $row_len){
        echo "<br>";
        $i = 0;
    }
}
//在变量中获取数组
$array=mysqli\u fetch\u all($r,mysqli\u ASSOC);
//将柱高度设置为10个项目
$col_高度=10;
//数一数数组
$count=计数($array);
//根据列高度和数组大小确定列数
$row_len=$count/$col_height;
//创建迭代器
$i=0;
//拉屎
foreach($array作为$row){
//添加显示=内联
回音“\n”;
//仅在需要时回显换行符,重置迭代器
如果($i==$row\u len){
回声“
”; $i=0; } }
这更多的是HTML而不是PHP问题。使用一个表。通过
$array=mysqli\u fetch\u all($r,mysqli\u ASSOC)读取所有值
然后按数组块将其划分为3个数组,并输出这3个数组的相同索引arrays@kido-欢迎使用SO,如果此答案有助于您,请务必通过我的答案打勾,以获得您的前两分。如果你喜欢,你也可以投票!祝你好运
// get your array in a var
$array = mysqli_fetch_all($r, MYSQLI_ASSOC);

// set column to 10 items tall
$col_height = 10; 

// count the array
$count = count($array);

// determine number of columns based on column height and array size
$row_len = $count / $col_height;

//create iterator
$i = 0;

// loop that shits
foreach($array as $row) {

    // added display = inline 
    echo "<div style='display:inline-block;'><h4><a href=\"page.php?id={$row['subcategory_id']}\">{$row['subcategory']}</a></h4></div>\n";

    // echo a line break only when needed, reset the iterator
    if($i == $row_len){
        echo "<br>";
        $i = 0;
    }
}