gpt4 book ai didi

php - While 循环 - 将标题与循环结果分开 - 循环然后为每组结果添加标题

转载 作者:行者123 更新时间:2023-11-29 23:24:56 25 4
gpt4 key购买 nike

我有一个 while 循环,它将所有链接的数字分成表中的不同部分。以下是声明:

$result2 = mysqli_query($con,"SELECT a.*, b.*, c.* FROM b_statement_main a 
INNER JOIN b_crm_company b ON a.COMPANY_ID = b.ID INNER JOIN b_statement c
ON a.LINK = c.LINK
WHERE a.COMPANY_ID = '$companyID2' AND a.COMMENCE BETWEEN '$from2' AND '$to2' ");

$linked = -1;
while($row = mysqli_fetch_array($result2))
{

$companyName = $row['TITLE'];
$arDates = strtotime($row['COMMENCE']);
$remaining = $row['REMAINING_HOURS'];
$linking = $row['LINK'];
$arNumber = $row['REF_NUMBER'];
$billable = $row['BILLABLE'];


if($linked != $row['LINK'])
{
print "<tr><td><strong>$companyName</strong></td><td></td><td><strong>".date('d/m/Y',$arDates)."</strong></td><td></td><td></td><td><strong>$remaining</strong></td></tr>";

$linked = $row['LINK'];
}

print "<tr><td></td><td></td><td></td><td>$arNumber</td><td>$billable</td><td></td></tr>";

}

print "</table>";

因此,它返回的是每个部分的标题,然后循环与下面的查询相关的结果。返回所有相应结果后,它将再次显示标题部分并再次循环相关结果。它将重复此操作,直到显示所有内容。

但是我想要的是标题部分位于循环结果下方。因此,它将循环结果,然后一旦循环了该特定部分的所有结果,就把标题放在下面。然后它将进入并再次循环结果并将标题放在下面,它将继续直到完成。

任何人都知道我该怎么做。显然,如果我将 print 移到 if 之前,那么它会放置结果、标题、结果、标题等。

这就是目前的样子(不准确,只是为了显示标题和结果):

| Company  | Date        | Hours |
| Title 1 | 20/11/2014 | |
| Result 1 | 10/11/2014 | 44 |
| Result 2 | 08/11/2014 | 22 |

当我需要它时:

| Company  | Date        | Hours |
| Result 1 | 10/11/2014 | 44 |
| Result 2 | 08/11/2014 | 22 |
| Title 1 | 20/11/2014 | |

最佳答案

如何根据表中所需的条目创建一个新数组。所以你的代码会像这样(注意添加了$outputarray):

编辑:假设每个数据集只有一个标题。如果您希望每组记录有多个标题,则需要在记录中设置用于标识一组的内容。在这种情况下,最简单的方法是根据结果是否是标题(根据您的标准)制作结果的多维数组。

$linked = -1;
while($row = mysqli_fetch_array($result2)){
$companyName = $row['TITLE'];
$arDates = strtotime($row['COMMENCE']);
$remaining = $row['REMAINING_HOURS'];
$linking = $row['LINK'];
$arNumber = $row['REF_NUMBER'];
$billable = $row['BILLABLE'];

if($linked != $row['LINK']){
$outputarray['title'][] ="<tr><td><strong>$companyName</strong></td>
<td></td><td><strong>".date('d/m/Y',$arDates)."</strong></td><td></td><td>
</td><td><strong>$remaining</strong></td></tr>";
$linked = $row['LINK'];
} else {
$outputarray['row'][]= "<tr><td></td><td></td><td></td><td>$arNumber</td>
<td>$billable</td><td></td></tr>";
}
}
print"<table>
<thead>"; // etc... have the titles go here.
foreach($outputarray as $key=> $value){
if($key=='title'){
$thistitle=$value;
} else {
print $value;
}
}
print $thistitle;

print "</table>";

关于php - While 循环 - 将标题与循环结果分开 - 循环然后为每组结果添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com