Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 如何按行显示项目(即每行显示5个项目)_Php_Jquery_Html_Css_Codeigniter - Fatal编程技术网

Php 如何按行显示项目(即每行显示5个项目)

Php 如何按行显示项目(即每行显示5个项目),php,jquery,html,css,codeigniter,Php,Jquery,Html,Css,Codeigniter,我有一个从控制器在我的查看页面上显示标签的窗口。我想显示每行5个标签,目前我下面的代码显示每行1个标签。请帮我怎么做 $query = $this->tagsmodel->fetch_all_tags($postnumbers, $offset); if (is_array($query)) { foreach ($query as $row) { $content = substr(strip_tags($

我有一个从控制器在我的查看页面上显示标签的窗口。我想显示每行5个标签,目前我下面的代码显示每行1个标签。请帮我怎么做

 $query = $this->tagsmodel->fetch_all_tags($postnumbers, $offset);
  if (is_array($query))
     {
        foreach ($query as $row) 
         {
            $content = substr(strip_tags($row->tags_name), 0, 180); 
            echo '<div class="parent" id='.$row->tags_id.'>';
            echo '<a class="tagsbtn" href="" >'.$content.'</a>';
            echo '</div>';
         }
     }
$query=$this->tagsmodel->fetch\u all\u标记($postnumbers,$offset);
if(is_数组($query))
{
foreach($queryas$row)
{
$content=substr(带标签($row->tags\u name),0,180);
回声';
回声';
回声';
}
}
目前我得到的输出是这样的

尝试为您的div设置浮动
style=“float:left;”

foreach($queryas$row)
{
$content=substr(带标签($row->tags\u name),0,180);
回声';
回声';
回声';
}

尝试为您的div设置浮动
style=“float:left;”

foreach($queryas$row)
{
$content=substr(带标签($row->tags\u name),0,180);
回声';
回声';
回声';
}

您可以使用css

.main {
    width : 400px;
}    
.main .parent{
    float : left;
    margin-right : 10px;
}
调整宽度,根据您将得到5个标签的行

 echo "<div class='main'>";
 foreach ($query as $row) 
 {
            $content = substr(strip_tags($row->tags_name), 0, 180); 
            echo '<div class="parent" id='.$row->tags_id.'>';
            echo '<a class="tagsbtn" href="" >'.$content.'</a>';
            echo '</div>';
         }
echo '</div>';
echo”“;
foreach($queryas$row)
{
$content=substr(带标签($row->tags\u name),0,180);
回声';
回声';
回声';
}
回声';

您可以使用css

.main {
    width : 400px;
}    
.main .parent{
    float : left;
    margin-right : 10px;
}
调整宽度,根据您将得到5个标签的行

 echo "<div class='main'>";
 foreach ($query as $row) 
 {
            $content = substr(strip_tags($row->tags_name), 0, 180); 
            echo '<div class="parent" id='.$row->tags_id.'>';
            echo '<a class="tagsbtn" href="" >'.$content.'</a>';
            echo '</div>';
         }
echo '</div>';
echo”“;
foreach($queryas$row)
{
$content=substr(带标签($row->tags\u name),0,180);
回声';
回声';
回声';
}
回声';

您可以使用Kasyx解决方案,但无法控制每行显示的标签数量。默认情况下,每次显示的标记宽度变大时,它都会填充div并打断到新行

使用循环中的计数器控制显示的标签的确切数量。您可能需要为div和/或播放溢出设置固定宽度

您的DOM应该是

<div id="main">
    <div class="rowdiv">
        <div class="parent"><a ... >foo</a></div>
        <div class="parent"><a ... >bar</a></div>
        ...
    </div>

您唯一需要做的就是在循环中使用模运算,并每5次迭代创建一个新的“rowdiv”。

您可以使用Kasyx解决方案,但无法控制每行上显示的标记数。默认情况下,每次显示的标记宽度变大时,它都会填充div并打断到新行

使用循环中的计数器控制显示的标签的确切数量。您可能需要为div和/或播放溢出设置固定宽度

您的DOM应该是

<div id="main">
    <div class="rowdiv">
        <div class="parent"><a ... >foo</a></div>
        <div class="parent"><a ... >bar</a></div>
        ...
    </div>
您唯一需要做的就是在循环中使用模运算,并在每5次迭代中创建一个新的“rowdiv”。

PHP

echo '<ul>';
foreach ($query as $row) 
{
    $content = substr(strip_tags($row->tags_name), 0, 180); 
    echo '<li id="'.$row->tags_id.'">';
    echo '<a class="tagsbtn" href="#">'.$content.'</a>';
    echo '</li>';
}
echo '</ul>';
更新

这将允许标记具有动态宽度

新的工作示例 PHP

echo '<ul>';
foreach ($query as $row) 
{
    $content = substr(strip_tags($row->tags_name), 0, 180); 
    echo '<li id="'.$row->tags_id.'">';
    echo '<a class="tagsbtn" href="#">'.$content.'</a>';
    echo '</li>';
}
echo '</ul>';
更新

这将允许标记具有动态宽度

新的工作示例

$count=0
$query=$this->tagsmodel->fetch_all_标记($postnumbers,$offset)
if(is_数组($query))
{
foreach($query as$row)
{
$count++;
$content=substr(带标签($row->tags\u name),0,180);
回显“”;
回显“”;
回声'; 如果($count%5==0){
回声“;
}
}
}

现在它将显示每行5个div

$count=0
$query=$this->tagsmodel->fetch_all_标记($postnumbers,$offset)
if(is_数组($query))
{
foreach($query as$row)
{
$count++;
$content=substr(带标签($row->tags\u name),0,180);
回显“”;
回显“”;
回声'; 如果($count%5==0){
回声“;
}
}
}


因此,现在它将每行显示5个div

我不太确定您想做什么,但是
div
元素上的
display:inline block
float:left
应该有帮助。@RoryMcCrossan我更新了我的问题,请看一看我不太确定您想做什么,但
display:inline block
float:left
div
元素上应该会有帮助。@RoryMcCrossan我更新了我的问题,请看一下
没有更多的帖子了
div正在提交,标签div的显示与以前一样,因此您可以为标签添加另一个div。你也可以为那个div应用同样的css。请检查我是否编辑了我的问题。有一个全局div,其类main用于所有标记,这是一个小问题,它的显示输出是这样的,让我们知道
不再发布
div,而tags div的显示与以前相同,因此您可以为标记添加另一个div。你也可以为那个div应用同样的css。请检查我是否编辑了我的问题。有一个全局div,它的类main用于所有tagsStill小问题,它的输出如下