![](/img/trans.png)
[英]Fetch a column from one table, search the same column value in another table and finally fetch and display data from the third table
[英]How to fetch data with same id in a row but different value in another column and display one month into table in php
我在 MySQL 表中有以下数据:
emp_id | 日期 | 转移 |
---|---|---|
1001 | 2022-08-01 | 米 |
1001 | 2022-08-02 | 米 |
1001 | 2022-08-03 | ñ |
1002 | 2022-08-01 | 米 |
1002 | 2022-08-02 | 乙 |
1002 | 2022-08-06 | 米 |
Output 应该是这样的(一个月列表显示):
emp_id | 2022-08-01 | 2022-08-02 | 2022-08-03 | 2022-08-04 | 2022-08-05 | 2022-08-06 |
---|---|---|---|---|---|---|
1001 | 米 | 米 | ñ | 0 | 0 | 0 |
1002 | 米 | 乙 | 0 | 0 | 0 | 米 |
我的代码是:
<?php
for($j = 1; $j <= date('t'); $j++)
{
$dat = str_pad($j, 2, '0', STR_PAD_LEFT). "-" . date('m') . "-" .
date('Y');
$d[] = date('Y'). "-" . date('m') . "-" . str_pad($j, 2, '0',
STR_PAD_LEFT);
$datess[] = str_pad($j, 2, '0', STR_PAD_LEFT)."<br>".date('D',
strtotime($dat));
}
?>
<?php
$link = mysqli_connect('localhost','root','','rostertest');
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Employee</th>
<?php foreach($datess as $dates) {?>
<th>
<?php echo $dates; ?>
</th>
<?php } ?>
</tr>
</thead>
<tbody id="tbl_body">
<?php
$i=0;
$get_sql = "select * from ros";
$run = mysqli_query($link,$get_sql);
while($row = mysqli_fetch_array($run)){
$date = $row['date'];
$i++;
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row['emp_id']; ?></td>
<?php foreach($d as $da) { if($date==$da){?>
<td><?php echo $row['shift']; ?></td>
<?php }else{ ?>
<td><?php echo "0";?></td>
<?php }}?>
</tr>
<?php }?>
</tbody>
</table>
</div>
对于这些类型的数据,您需要另一个表,例如 Table.emp_date 与(来自 ros 的 emp_id)和(来自 emp_date 的 id)之间的关系,您必须将“emp_date”和“shift”移动到这个新表。
让我也试着用你的代码来解释一下:
<?php
$i=0;
$get_sql = "select * from ros";
$run = mysqli_query($link,$get_sql);
while($row = mysqli_fetch_array($run)){
$get_sql2 = "select * from emp_date WHERE id=" . $row['emp_id'];
$run2 = mysqli_query($link,$get_sql2);
while($row2 = mysqli_fetch_array($run2)){
$i++;
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row['emp_id']; ?></td>
<td><?php echo $row2['emp_date']; ?></td>
<td><?php echo $row2['shift']; ?></td>
</tr>
<?php }}?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.