gpt4 book ai didi

php - 查询问题以获取每天多次重复的每周数据?

转载 作者:行者123 更新时间:2023-11-29 15:31:20 25 4
gpt4 key购买 nike

我有两个表来显示每个注册员工的日常服务。其中一个表包含每个表的当日服务,另一个表包含每个表的每周服务,并且在该表中每天总是有多个记录要显示,这是我的问题。

第一个表工作完美,我使用 GROUP CONCACT 和按员工姓名分组来获取数据,在正确的时间分割并显示没有问题。在第二个表中,解决方案似乎必须有所不同,因为在其中我需要按每个员工的姓名对数据进行分组,同时按一周中的每一天对数据进行分组。

这是我的第一个表的代码:

$result_usuario = "SELECT
events.date AS semana,
employees.id_employee AS idemp,
employees.nome AS nome,

GROUP_CONCAT(employees.nome
ORDER BY events.date, employees.nome, period) AS nome,
GROUP_CONCAT(customers.nome
ORDER BY events.date, employees.nome, period) AS nome2,
GROUP_CONCAT(customers.id_customer
ORDER BY events.date, employees.nome, period) AS id,
GROUP_CONCAT(customers.adress
ORDER BY events.date, employees.nome, period) AS address,
GROUP_CONCAT(customers.phone
ORDER BY events.date, employees.nome, period) AS phone,
GROUP_CONCAT(events.id_event
ORDER BY events.date, employees.nome, period) AS idevent,
GROUP_CONCAT(events.price
ORDER BY events.date, employees.nome, period) AS price,
GROUP_CONCAT(events.frequence
ORDER BY events.date, employees.nome, period) AS freq,
GROUP_CONCAT(events.period
ORDER BY events.date, employees.nome, period) AS period,
GROUP_CONCAT(events.date
ORDER BY events.date, employees.nome, period) AS dia
FROM
events
INNER JOIN
employees ON employees.id_employee = events.id_employee
INNER JOIN
customers ON customers.id_customer = events.id_customer
WHERE WEEK(events.date)=WEEK(NOW()) and employees.id_employee=events.id_employee
GROUP BY semana
ORDER BY semana, nome ASC"

$resultado_dados = mysqli_query($link, $result_dados);

if(($resultado_dados) AND ($resultado_dados->num_rows != 0)){
?>
<div class="logo">
<img src="../assets/img/Logo.png" alt = "logojjl" style="padding-bottom:8px;"><br>
<a class="btn btn-primary btn-sm" name="print" href="#" type="button">Week</a>
</div>
<p class="card-category" style="padding-left: 13px; padding-top: 8px;">Date: <?php echo date("m/d/y") ?></p>

<table class="table table-sm table-hover">
<thead>
<tr>
<th>Employee</th>
<th>Customer</th>
<th>Customer</th>
<th>Customer</th>
</tr>
</thead>
<tbody>
<?php
while($row_usuario = mysqli_fetch_assoc($resultado_dados)){
$id = explode(',', $row_usuario['id']);
$cust = explode(',', $row_usuario['nome2']);
$phone = explode(',', $row_usuario['phone']);
$address = explode(',', $row_usuario['address']);
$idev = explode(',', $row_usuario['idevent']);
$price = explode(',', $row_usuario['price']);
$freq = explode(',', $row_usuario['freq']);
$date = explode(',', $row_usuario['dia']);
$period = explode(',', $row_usuario['period']);

?>


<tr>
<td><?php echo $row_usuario["nome"]; ?></th>

<?php
for($i=0; $i < count($cust); $i++ ) {
?>
<td><a type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#visu" value="<?php echo $id[$i]; ?>"><?php echo $cust[$i]; ?></a>


</td>

上面的代码完全满足了我每日 View 的需要,但我无法根据每周 View 的代码找到答案。我尝试过做出一些改变,但结果总是与我想要的相反。第一个表更容易,因为显示的内容都在同一行,我可以毫无问题地拆分记录,第二个表的问题是一周中的每一天都有多个记录要显示,并且每个记录必须与合适的员工联系起来。

任何人都可以帮我找到一个基于此代码的解决方案,我可以将每个员工的记录分组,同时将这些记录按星期几分组?我需要考虑一周中某一天没有记录的可能性,在这种情况下表空间将为空,这也需要考虑。

最佳答案

使用

WEEK(events.date) AS semana 

在您的选择代码中。

这将为您提供分组和订购的周数

该函数有一个选择一周第一天的选项。

关于php - 查询问题以获取每天多次重复的每周数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58701798/

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