gpt4 book ai didi

php - 如何在 php 中为网上商店制作订单历史记录?

转载 作者:可可西里 更新时间:2023-11-01 09:06:04 25 4
gpt4 key购买 nike

问题:

1) 订单历史中只显示了3行id_penjualan,应该是4行id_penjualan

2) jumlahtotal 是同一个值,根据每笔交易的产品数量之和,应该不同。

tb_penjualan: tb_penjualan

:tb_detail_penjualan: tb_detail_penjualan

输出: order history

代码:

<?php
$id_pelanggan=$_SESSION['user_session'];
$query="SELECT tb_penjualan.*, tb_pelanggan.nama_dpn, tb_pelanggan.nama_blk
FROM tb_penjualan LEFT JOIN tb_pelanggan
ON tb_penjualan.id_pelanggan=tb_pelanggan.id_pelanggan
WHERE tb_penjualan.id_pelanggan=:id_pelanggan
AND tb_penjualan.checkout='yes' ORDER BY id_penjualan";
$stmt=$con->prepare($query);
$stmt->execute(array(":id_pelanggan"=>$id_pelanggan));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
$id_penjualan=$row['id_penjualan'];
if($stmt->rowCount()>0)
{
$query2="SELECT SUM(subtotal) AS total, SUM(jumlah) as total_jml
FROM tb_detail_penjualan
WHERE id_penjualan=:id_penjualan";
$stmt2=$con->prepare($query2);
$stmt2->execute(array(":id_penjualan"=>$id_penjualan));
$stmt2->execute();
$row2=$stmt2->fetch(PDO::FETCH_ASSOC);
$no=1;
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{?>
<tr>
<td></td>
<td><?php echo $no++;?></td>
<td> <?php echo $row['id_penjualan'] ;?></td>
<td><?php echo $row['nama_dpn'] ;?>&nbsp;<?php echo $row['nama_blk'] ;?> </td>
<td><?php echo date('d F y', strtotime($row['tanggal_blj'])); ?></td>
<td><?php echo $row2['total_jml']; ?></td>
<td> <?php $harga = $row2['total'] ?> <?php echo "Rp. " .number_format($harga, 0, ',', '.');?></td>
<td>Rp. </td>
<td></td>
</tr>
<?php
}
} else { ?>
<p>Order history empty</p>
<?php }?>
</tbody>

最佳答案

您的代码中有 2 个查询:

  1. $query 执行 $stmt
  2. $query2 使用 $stmt2 执行,您在 $row2 中获取第一行。

然后你有一个循环,你通过变量 $row$stmt 中获取所有行。所以 $row 包含第一个查询的下一行的每个时间值。

但在循环内,您还从 $row2 输出信息,这不会改变(它仍然是循环前获取的第一行),因此每次打印相同的输出。

关于php - 如何在 php 中为网上商店制作订单历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144230/

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