创建一个依赖于PHP中的事务表的html表

时间:2018-08-18 07:11:42

标签: php mysql sql

我试图在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>";
}

2 个答案:

答案 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>