在Php中使用循环创建表时,如果条件为true,则移动到下一列

在Php中使用循环创建表时,如果条件为true,则移动到下一列,php,html,loops,for-loop,Php,Html,Loops,For Loop,所以,我想做的是显示每个类别id的总点击量,只显示每天最高总点击量的20个项目订单 现在我使用的是硬代码,结果是这样的 因此,如果项目id和总点击量已经填满了 20列(用于项目id和总点击次数)+2列用于标题 22列 它必须移动到下一行 因为我正在引用我的数据库,所以我使用循环来创建表,当我这样做时,我得到了这个结果。。。。 结果将一直显示,直到在左侧结束。为了报告的目的,这很难理解。所以我希望结果看起来像我上传的第一个数字 这就是我现在正在做的 include "Con.php";

所以,我想做的是显示每个类别id的总点击量,只显示每天最高总点击量的20个项目订单

现在我使用的是硬代码,结果是这样的

因此,如果项目id和总点击量已经填满了

20列(用于项目id和总点击次数)+2列用于标题 22列

它必须移动到下一行

因为我正在引用我的数据库,所以我使用循环来创建表,当我这样做时,我得到了这个结果。。。。

结果将一直显示,直到在左侧结束。为了报告的目的,这很难理解。所以我希望结果看起来像我上传的第一个数字

这就是我现在正在做的

  include "Con.php";
        //get the value from Get Method 
        $CatidValue = $_GET['CatIds'];
        //(The date format would looks like yyyy-mm-dd)
        $DateFrom = $_GET['DateFrom'];  
        $DateTo = $_GET['DateTo'];
        //select the CatID
        $SqlGet= "Select CatId from try where CatId = $CatidValue";
        $_SqlGet = mysqli_query($connection,$SqlGet);
        $TakeResultGet = mysqli_fetch_array($_SqlGet);
        $CatIdTittle = $TakeResultGet ['CatId'];

        echo"
            For Category Id : $CatIdTittle
            <br>

        ";

        //For Loop purpose and break the value
        $explodeValueFrom = explode("-",$DateFrom);
        $explodeValueTo = explode("-",$DateTo);
        $DateValueFrom = $explodeValueFrom[0].$explodeValueFrom[1].$explodeValueFrom[2];
        $DateValueTo = $explodeValueTo[0].$explodeValueTo[1].$explodeValueTo[2];    

        //Loop through the date
        for($Loop=$DateValueFrom; $Loop <= $DateValueTo; $Loop++){
            $YearLoop= substr($Loop, 0,4);
            $MonthLoop =substr($Loop, 4,2);
            $DayLoop = substr($Loop, 6,2);

            $DateTittleValue = $YearLoop."-".$MonthLoop."-".$DayLoop;
            $trValue = "<th class='tg-amwm' colspan='2'>$DateTittleValue</th>";


                echo"
                <table class='tg'>
                    <tr>
                        $trValue
                    </tr>
                ";
                echo"
                <table class='tg'>
                    <tr>
                        <td class='tg-yw4l'>Items Id</td>
                        <td class='tg-yw4l'>Total Clicks</td>
                    </tr>
                ";



            //to get the item id and total clicks
            $SqlSelect = "select `Item Id`,`Total Clicks`,Day from try where CatId = $CatidValue and Day = '$DateTittleValue' ORDER BY `try`.`Total Clicks`  DESC limit 20";
            $_SqlSelect = mysqli_query($connection,$SqlSelect);
            foreach ($_SqlSelect as $ResultSelect) {
                $Day = $ResultSelect['Day'];
                $ItemId = $ResultSelect['Item Id'];
                $TotalClicks = $ResultSelect['Total Clicks'];

                echo"       
                    <tr>
                        <td class='tg-yw4l'>$ItemId</td>
                        <td class='tg-yw4l'>$TotalClicks</td>
                    </tr>               
                ";
            }
        }           
    ?>
包括“Con.php”;
//从get方法获取值
$CatidValue=$\u GET['CatIds'];
//(日期格式类似于yyyy-mm-dd)
$DateFrom=$_GET['DateFrom'];
$DateTo=$_GET['DateTo'];
//选择CatID
$SqlGet=“从try-where-CatId=$CatidValue中选择CatId”;
$\u SqlGet=mysqli\u查询($connection,$SqlGet);
$TakeResultGet=mysqli\u fetch\u数组($\u SqlGet);
$catidtitle=$TakeResultGet['CatId'];
回声“
对于类别Id:$catidtitle

"; //用于循环目的并断开该值 $explodeValueFrom=explode(“-”,$DateFrom); $explodeValueTo=explode(“-”,$DateTo); $DateValueFrom=$explodeValueFrom[0]。$explodeValueFrom[1]。$explodeValueFrom[2]; $DateValueTo=$explodeValueTo[0]。$explodeValueTo[1]。$explodeValueTo[2]; //循环浏览日期 对于($Loop=$DateValueFrom;$Loop
您不需要在循环中声明您的trValueTitle。此外,您还需要在回显中连接它,请尝试以下操作:

    $trValueTittle ="1"."<th class='tg-amwm' colspan='2'>$DateTittleValue</th>" ; 
    echo"<table class='tg'>";
    for($loopForTr=1; $loopForTr<=3; $loopForTr++){
        echo"<tr>". $trValueTittle ."</tr>";
    }
$trvaluetitle=“1”。$DateTittleValue”;
回声“;

对于($loopForTr=1;$loopForTr我不知道您想用“1”做什么,但我认为这就是您想做的:

echo "<table class='tg'>";
for($loopForTr=1; $loopForTr<=3; $loopForTr++){
    $trValueTittle ="<th class='tg-amwm' colspan='2'>$DateTittleValue</th>";
    echo"   
        <tr>
            $trValueTittle 
        </tr>";
}
echo "</table>";
echo”“;
对于($loopForTr=1;$loopForTr
$trvaluetitle=“1”。“$datetitlevalue”;
回声“
";

对于($loopForTr=1;$loopForTr@Rax),您的代码将无法工作。您将收到一个错误。您不能像在echo中那样输出变量

echo"<tr> '.$trValueTittle.' </tr>"; 
echo“.$trvaluetitle.”;

可以。但是也不需要在for循环中定义变量。这样可以减慢脚本的速度。

Rax的echo很好。变量在双引号中。哦,你说得对,我不好。我不知道我在写这个答案时研究了什么。关于它错误的评论应该从你的答案中删除。我的输出是iam ex查看此2009-04-21 2009-04-22项目Id总点击次数项目Id总点击次数121321 23 12224 12 1233 1 12312 6您的代码将生成此2009-04-21项目Id总点击次数121321 23 1233 1 2009-04-22项目Id总点击次数12224 12 12312 6抱歉,我真的不明白你想要什么…我已经看到了你发布的图片。正如我所说的,不要将你的tr放入for循环中…如果你没有这样做,请发布更多的代码,否则我帮不了你:(我刚刚更新了我的问题,你的问题是对的,我已经完成了。但是我想和我问题中的pict一样。参考这一点,你需要发布更多的代码,说明数据来自何处,以及数据是否与数据库相关。@Fred ii-很抱歉,我刚刚更新了我的问题,还更新了代码和expecting结果
echo"<tr> '.$trValueTittle.' </tr>";