台灣最大程式設計社群網站
線上人數
992
 
會員總數:246135
討論主題:189716
歡迎您免費加入會員
討論區列表 >> PHP >> 查詢select選擇的期間的資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
查詢select選擇的期間的資料
價值 : 30 QP  點閱數:546 回應數:8
樓主

Randall
門外漢
0 3
109 15
發送站內信

小弟現在剛步入PHP沒多久

有個問題想請各位高手幫忙,希望能幫小弟打出詳細的程式碼

下面圖為小弟目前的進度











希望有大大可以幫忙解圍~ 拜託各位了

本篇文章發表於2013-12-09 11:45
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
方法不少
最簡單的方法
開始日期=開始年月加上日期01
結束日期=結束年月加上月底日期
然後
本篇文章回覆於2013-12-10 09:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Randall
檢舉此回應
所以意思是程式碼用
如果只有年的話是不是



那因為有years與months ,endyears與endmonths

那'開始日期'與'結束日期'的寫法是?
本篇文章回覆於2013-12-10 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
當然不是
我的意思是完整的日期
既然你的欄位有年和月
那開始日期就是

也就當月的第一天
結束日期的寫法稍微麻煩一點

本篇文章回覆於2013-12-10 10:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Randall
檢舉此回應
恩恩 問題解決!!

我用同樣的觀念讓查詢的時間更詳細到日

謝謝提供的教導也發現真的有很多寫法 " >= " 也比我想像中的用途廣泛
本篇文章回覆於2013-12-10 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Randall
檢舉此回應
剛剛我是使用個別判斷的

如果我要使用您教的方法

語法是

where Time >= '$starttime' and Time <= 'endtime'

這樣嗎?
本篇文章回覆於2013-12-10 11:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Randall
檢舉此回應
我現在增加了日

所以starttime與endtime寫法是

$starttime = $_GET["startyears"]."-".$_GET["startmonths"]."-".$_GET["startdays"];
$endtime = $_GET["endyears"]."-".$_GET["endmonths"]."-".$_GET["enddays"];

然後在where後面是

where Time >= '$starttime' and Time <= 'endtime'

這樣對嗎?

本篇文章回覆於2013-12-10 11:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Randall
檢舉此回應
小弟完成了!!

只是出現一個小問題...

可是不管結束日期是哪天都會只有到前一天

例如我查詢 2013-11-26 至 2013-12-09

可是顯示的資料只有 2013-11-26 至2013-12-09的資料

小弟有用 <= 可是好像 = 沒有用
本篇文章回覆於2013-12-10 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Randall
檢舉此回應
用了上方您$enddate = date("Y-m-d",mktime(0,0,0,$_GET["endmonths"]+1,0,$_GET["endyears"])); 的語法修改後 完成了

感激不盡
本篇文章回覆於2013-12-10 11:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.