我有一個PHP代碼就緒,它將從mysql數據庫獲取數據,PHP代碼也將以表格形式顯示數據。按日期排序兩個表格,並在html中顯示輸出<table>
我想達到的目標:
我有一個名爲「計算器」兩代表「客戶」 &「回執」 虛擬數據庫這兩個表都被稱爲「日期」字段與數據類型爲日期也是如此。 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
如果你仍然感到困惑的是什麼樣的輸出我想get.I做了一桌在excel這裏的圖片:
我很困難,這個問題,因爲幾天。我認爲這是由於我缺乏SQL技能?任何幫助,將不勝感激。
謝謝!
UPDATE:
這是如何使用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");
經過一番研究,我碰到它連接兩個SELECT語句的UNION運算符,和我發展此查詢:
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語句中的列,以及如何按日期排序?
感謝您的!但是這完全改變了我的輸出,「<=」運算符是我現在使用的運算符,但問題仍然存在。 – user2933671
我以爲你在做平等比較。讓我們試試 –
平等運算符排除「reciept」表的結果。所以我使用「<=」運算符,它給了我在jsfiddle鏈接中獲得的相同結果。 – user2933671