Php 如何按行显示项目(即每行显示5个项目)
我有一个从控制器在我的查看页面上显示标签的窗口。我想显示每行5个标签,目前我下面的代码显示每行1个标签。请帮我怎么做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($
$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小问题,它的输出如下