gpt4 book ai didi

javascript - 按日期对两个表进行排序并在 html 中显示输出
转载 作者:行者123 更新时间:2023-11-30 01:06:30 27 4
gpt4 key购买 nike

我已经准备好一个 PHP 代码,它将从 mysql 数据库中获取数据,该 PHP 代码还将以表格形式显示数据。

我想要实现的目标:

我有一个名为“stackoverflow”的虚拟数据库,其中有两个表“customer”和“receipt”这两个表都有一个名为“date”的字段,其数据类型也为日期。 full schema here

我希望从这些表中选择一些条目出现在 html 表中。条目应按日期升序排列。

我尝试过并取得的成就:

数据已成功获取并以表格形式显示,但日期排序尚未完成。

output of my result (without php code since jsfiddle doesn't support php)

我使用 PHP 比较每个表的日期之间的日期,然后显示相应的数据

<?php
while( $kb = mysql_fetch_assoc($customer) ){
customer_data($kb); //function which echos <tr>'s of customer table
while($cd = mysql_fetch_assoc($reciept)){ //function which echos <tr>'s of reciept table
if($cd['date'] <= $kb['date']){
reciept_data($cd);
break;
}
}
}
?>

我面临的问题:

排序与我想要的不完全一样。 (只有其中一些是按照日期递增的顺序)。

链接到我的整个项目文件,其中包含数据库架构和示例数据(只需导入到 phpmyadmin)以供引用:http://www.mediafire.com/?bcbvkn8uq89ya6n

如果您仍然对我想要获得什么样的输出感到困惑。我在 Excel 中制作了一个表格,这是图像:image

几天来我一直在努力解决这个问题。我想这是因为我缺乏sql技能?任何帮助将不胜感激。

谢谢!

更新:

这是我使用 php 从表中获取数据的方法:

$customer = mysql_query("SELECT * FROM customer WHERE customer_name = '$name' ORDER BY date ASC ");

$reciept = mysql_query("SELECT * FROM reciept WHERE name = '$name' ORDER BY date ASC");

经过一番研究,我发现了 UNION 运算符,它连接两个 select 语句,并开发了这个查询:

SELECT DATE, customer_name, grand_total
FROM customer
WHERE customer_name = 'JHON'
UNION ALL
SELECT DATE, name, recd_amount
FROM reciept
WHERE name = 'JHON'

但我只能选择相等的否。两个 select 语句中的列数,以及如何按日期排序?

最佳答案

在 if 语句中应该使用“==”进行相等比较。 '=' 将为变量赋值

   if($cd['date'] = $kb['date']){ 

   if($cd['date'] == $kb['date']){

联合排序

 $query = " (SELECT DATE, customer_name, grand_total
FROM customer
WHERE customer_name = 'JHON')
UNION ALL
(SELECT DATE, name, recd_amount
FROM reciept
WHERE name = 'JHON')
order by customer.Date desc"

帮助链接 MYSQL UNION ORDER BY

关于javascript - 按日期对两个表进行排序并在 html <table> 中显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705560/

27 4 0