首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MySQLi while内的while首先重复while值

PHP/MySQLi while内的while首先重复while值
EN

Stack Overflow用户
提问于 2013-01-29 16:00:18
回答 2查看 217关注 0票数 1

代码:

代码语言:javascript
复制
$query = $db->query("SELECT day FROM impressions WHERE pub_id = '$pub_id' AND pub_tag = '$pub_tag' AND month = '$month' AND valid = '1' GROUP BY day ASC");
$stat_rev = $query->num_rows;
if($stat_rev > 0) {
    while($revenue = $query->fetch_array())
    {
        $revenues[] = $revenue;
    }
    foreach($revenues as $revenue)
    {
        echo $rev_day = $revenue['day'].':';

        $queryi = $db->query("SELECT revenue FROM impressions WHERE pub_id = '$pub_id' AND pub_tag = '$pub_tag' AND month = '$month' AND day = '$rev_day' AND valid = '1'");
        while($rev = $queryi->fetch_array())
        {
            $revs[] = $rev;
        }
        foreach($revs as $rev)
        {
            //$total_rev = $total_rev + $rev['revenue'];
            echo $rev['revenue'].',';
        }
        $queryi->close();

        echo ' - ';

        //echo '[\''.$revenue['day'].'\', '.$total_rev.'],';
        $total_rev = 0;

    }
}

输出:

代码语言:javascript
复制
28:0.001,0.001,0.006, - 29:0.001,0.001,0.006,0.006,0.001, -

数据库:

代码语言:javascript
复制
28: 0.001
28: 0.001
28: 0.006
29: 0.006
29: 0.001

在第28天的第一次循环运行期间,循环显示0.001、0.001、0.006。现在,在第二次循环运行时,循环显示0.001,0.001,0.006,0.006,0.001。第二个循环显示了我尝试过的第一个循环值,但无法修复它,我想显示像28: 0.001,0.001,0.006和29: 0.006,0.001这样的值。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-29 16:02:57

在while循环之前,您需要重置$revs,否则您只是将更多的值追加到其中已经存在的值上。

只要在foreach中添加像$revs = array( );这样的东西就可以解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2013-01-29 16:41:49

改变你的

代码语言:javascript
复制
    while($rev = $queryi->fetch_array())
    {
        $revs[] = $rev;
    }

代码语言:javascript
复制
    while($rev = $queryi->fetch_array())
    {
        $revs[$rev_day][] = $rev;
    }

这将为您提供一个结构化数组,您可以稍后进行处理。

在while之前初始化数组

代码语言:javascript
复制
    $revs      = aray();
    while($rev = $queryi->fetch_array())
    {
        $revs[$rev_day][] = $rev;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14578167

复制
相关文章

相似问题

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