我试图在while循环中执行此操作,但是我不知道如何根据示例表获得交易名称。
数据库中的交易表
ID Name Date of transaction Amount
1 James 01/01/2018 150
2 James 03/02/2018 30
3 John 03/03/2018 800
4 John 04/08/2018 20
5 James 05/15/2018 2000
上面是我的交易表,我想要以下格式的数据
Name 1st Payment 2nd Payment 3rd Payment
James 150 30 2000
John 800 20
我只知道如何显示数据库表,但是我不知道如何在此处添加它,例如使其基于名称。这是我的示例代码:
$sample = mysqli_query($db,"SELECT * FROM report");
while($samp = mysqli_fetch_array($sample)) {
echo"<tr>";
echo"<td>".$samp['name']."</td>";
echo"<td>".$samp['transaction_date']."</td>";
echo"<td>".$samp['amount']."</td>";
echo"<tr>";
}
答案 0 :(得分:1)
这不是基于性能的合适代码,我的建议是您应该优化查询
但是此代码将解决您的问题。
$sample = mysqli_query($db,"SELECT * FROM report GROUP BY Name");
while($samp = mysqli_fetch_array($sample)) {
echo"<tr>";
echo"<td>".$samp['name']."</td>";
$result=mysqli_query($db,"SELECT * FROM report where name = '".$samp['name']."'");
while($samp2 = mysqli_fetch_array($result)) {
echo"<td>".$samp2['amount']."</td>";
}
echo"</tr>";
}
答案 1 :(得分:1)
首先,您需要在数据库中设置名称,然后对付款日期进行日期设定。并且您可以有条件申请订单(01/01/2018-31/01/2018)在此付款的中间人,这是第一笔付款,例如第二笔付款和第三笔付款。
<html>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Date</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<?php
$qry = $conn->prepare("SELECT * FORM `example`");
$qry->execute();
$fetch_list = $qry->fetchAll(PDO::FETCH_ASSOC);
foreach($fetch_list AS $result_example){
?>
<tr>
<td><?php print $result_example['NAME']; ?></td>
<td><?php print $result_example['Date']; ?></td>
<td><?php print $result_example['Amount']; ?></td>
<td><?php print $result_example['NAME']; ?></td>
</tr>
<?php} // WHILE ?>
</tbody>
</table>
</html>