我有一个名为“交易”的表,每当有人在我的网站上进行购买时,我都会在其中输入用户 ID、购买类型和金额。
我想向每个用户显示过去 7 天的这些统计信息。
目前,我有这个:
$data = array();
for($x = 0; $x <= 6; $x++){
$time = time()-($x*86400);
$date = date("Y/m/d", time()-($x*86400));
$queryE = $dbh->prepare("SELECT * FROM transactions WHERE user=:username AND time=:time AND(type='upgrade' OR type='addrbl' OR type='clicks' OR type='banner') ");
$queryE->bindParam(":username",$userdata['id']);
$queryE->bindParam(":time",$time);
$queryE->execute();
$row=$queryE->fetch();
$data[] = ($row['amount'] > 0 ? $row['amount'] : 0);
$dates[] = date("Y/m/d", time()-($x*86400));
}
$days = array('Today');
for ($i=0; $i<7;$i++)
{
$days[$i] = date('d-m', strtotime('-'.($i+0).' day'));
}
然后打印它,我有这个:
echo implode(',', $data);
虽然上面的代码只是打印出 0,0,0,0,0,0,0
如果我从查询中删除 $time
,那么它只会选择第一行并打印出每天的内容。
示例:如果有人购买了 3 件商品,但第一件商品花费了 60 美元,那么它将打印出 60,60,60,60,60,60,60
有人可以帮我选择每天的金额总和并将其打印出来吗?
1 Câu trả lời
学习thời gian
是db中的unix时间戳后编辑
当前您正在尝试获取给定时间(而非日期)的记录。由于数据库上有一个unix时间戳字段thời gian
,因此您需要给出一个时间间隔。此外,由于一天可能有多次购买,您需要对给定日期的所有金额
进行SUM
.
...
$begin = strtotime('today midnight');
for($x = 0; $x <= 6; $x++) {
$end = $begin + 86400;
$queryE = $dbh->prepare("SELECT SUM(amount) AS total FROM transactions WHERE user=:username AND time > :begin AND time <= :end AND(type='upgrade' OR type='addrbl' OR type='clicks' OR type='banner') ");
$queryE->bindParam(":username",$userdata['id']);
$queryE->bindParam(":begin", $begin);
$queryE->bindParam(":end", $end);
$queryE->execute();
$row=$queryE->fetch();
$data[] = $row['total'];
$dates[] = date("Y/m/d", $begin);
$begin -= 86400;
}
...
关于php - 获取上周的数据(数量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681362/
Tôi đang chạy PHP trong một tệp JavaScript, như... var = '';). Tôi cần sử dụng JavaScript để quét chuỗi để tìm các ký tự phân cách PHP (mở và đóng PHP). Tôi đã biết cách rồi
Tôi muốn có thể làm điều gì đó như thế này: php --determine-oldest-supported-php-version test.php và nhận được kết quả đầu ra này: 7.2 Nghĩa là nhị phân php được kiểm tra theo thử nghiệm.
Tôi đang phát triển một trang web php lớn hiện không sử dụng bất kỳ framework nào. Câu hỏi lớn của tôi là, liệu có nên thử tích hợp dần dần khung vào ứng dụng theo thời gian, chẳng hạn như tạo các tiện ích mới và cập nhật các tiện ích cũ không? Ví dụ, tất cả các trang đều được phục vụ trực tiếp thông qua URL.
Dưới đây là mã nguồn của tôi, tôi muốn sử dụng biến $r1 nằm trong tập lệnh php ở cuối trong một tập lệnh php khác ở đầu cùng một trang. Tôi cần một giải pháp đơn giản cho vấn đề này. Tôi muốn sử dụng biến đó trong truy vấn cập nhật có trong mã. $tên)
Tôi đang tạo một trang web thực hiện nhiều chuyển hướng PHP tùy thuộc vào các tình huống khác nhau. Giống như thế này... header("Location: somesite.com/redirectedpage.php"); để bảo mật