首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >While语句中的PHP For循环计数

While语句中的PHP For循环计数
EN

Stack Overflow用户
提问于 2017-01-24 02:50:41
回答 2查看 241关注 0票数 1

我正在尝试找出最好的解决方案,如何用php输出我的html,同时依靠一个div类。

这是我打印新闻的函数:

代码语言:javascript
复制
function post_news()
{
    $post_news = $this->mysql->Query("SELECT * FROM news ORDER BY id DESC LIMIT 4");
    while ($news_row = mysqli_fetch_array($post_news))
    {
        echo "<div class='column1'>
            <div class='box'>
            <h3>".$news_row['title']."</h3>
            <p>".$news_row['content']."</p>
            <a href='index.php?p=news&id=".$news_row['id']."' class='button button-small'>Read More</a> </div>
            </div>";
    }
}

我尝试的是,它显示<div class='column1'>,我需要它向上计数到class='column4'。当我尝试For循环或第二个While循环时,我有时可以让它计数,但它总是换一行,我希望这些块像平常一样并排显示。

那么,什么是最好的方法来计数我的div类,而不是在每个块之后进行换行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-24 02:55:39

我假设当你说1到4时,你希望它在4之后从1开始。只需递增一个计数器,并在它达到4时重置它:

代码语言:javascript
复制
$num = 0;
while ($news_row = mysqli_fetch_array($post_news))
    {
        $num++;
        echo "<div class='column{$num}'>
            <div class='box'>
            <h3>".$news_row['title']."</h3>
            <p>".$news_row['content']."</p>
            <a href='index.php?p=news&id=".$news_row['id']."' class='button button-small'>Read More</a> </div>
            </div>";
        if($num == 4) { $num = 0; }
    }

或者实际上,您在查询中使用了LIMIT 4,因此实际上不需要将其重置为0if语句,因为循环只会迭代4次。

票数 3
EN

Stack Overflow用户

发布于 2017-01-24 03:00:33

一个纯html的解决方法是像这样的代码:

代码语言:javascript
复制
<div class='column1'>
...
</div><div class='column2'>
..
</div>

而是因为你在重复它,这是行不通的。您可以做的另一件事是为这些列指定一个inline-block css属性。如果你使用的是bootstrap,你可以只使用col-xs-3,这样你就可以有4个偶数列。

如果不是,则必须将这些类中的每一个都指定为width:25%

所以总结一下,在css中:

代码语言:javascript
复制
.col{
    width:25%;/*probably going to have make responsive for screen width*/
    display:inline-block;/*or float:left, whichever*/
}

在php/html中:

代码语言:javascript
复制
...
echo "<div class='column1 col'>
            <div class='box'>
            <h3>".$news_row['title']."</h3>
            <p>".$news_row['content']."</p>
            <a href='index.php?p=news&id=".$news_row['id']."' class='button button-small'>Read More</a> </div>
            </div>";
...

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41813525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档