gpt4 book ai didi

php - 获取mysql结果的下一行以将索引与当前行进行比较,如果相同->循环输出

转载 作者:行者123 更新时间:2023-11-30 01:34:33 25 4
gpt4 key购买 nike

因此,我通过 mysqli_query 获取值来动态生成报告。这是当前输出->http://i.imgur.com/87XWAxQ.png?1我想要的是,当我们回显同一项目的任务时,项目列仅显示一次项目标题并跨越该项目下的任务数量,即 TIME MS 应该只出现一次

编辑 - 表结构 -

log(log_id,proj_id,task_id,user_id,小时,日期)

项目(proj_id,标题,desc)

任务(task_id,标题,desc,user_id,proj_id)

$q="SELECT proj_id, task_id,SUM(hours),date    
FROM log
WHERE user_id =$row[0] AND date >= '$s' AND date<= '$e'
GROUP BY proj_id, task_id";
$res=mysqli_query($con,$q) or die(mysqli_error($con));
while($row=mysqli_fetch_row($res)) /*while rows exist select each row to
extract and display project name task
name and sometime calc.

Problem - I wanna display just one cell
of project name till the tasks under that
project are displayed. I know this is
achieved by rowspan but using that here
is skewing up my table */


{
$q="SELECT `title` FROM `projects` WHERE proj_id=$row[0]";
$res=mysqli_query($con,$q) or die(mysqli_error($con));
$ptitle=mysqli_fetch_row($res);
$q= "SELECT title FROM tasks WHERE task_id =$row[1]";
$res=mysqli_query($con,$q) or die(mysqli_error($con));
$row=mysqli_fetch_row($res);
$time=round(($row[2]/$total[0])*100);

echo '
<td>'
.$ptitle[0]. //using rowspan here is skewing up the table as
// the loop executes seperately for each task
'</td>
<td>'
.$row2[0].
'</td>
<td>'
.$time.
'</td>
</tr>';
}

我知道某个地方有逻辑错误,但我就是无法弄清楚。我需要以某种方式检查我们是否仍在显示同一项目的任务并计算数量。任务和设置
<td rowspan='.$count.'>Project Title</td>

最佳答案

我无法添加脚本,但我可以告诉你算法

1.首先获取行/数组

2.将项目标题保存在PHP全局变量中

3.将下一个结果(标题)与上一个标题进行比较。

如果(相同) { 使用javascript来增加行跨度 } 别的 { 将新标题存储在变量中 }

注意:- 为此,您必须为表行设置动态 ID。示例

<?PHP
while(true)
{
$i++;
<tr id="$i"></tr>
}
?>

关于php - 获取mysql结果的下一行以将索引与当前行进行比较,如果相同->循环输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17080853/

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