作者taurus510 (ciao!)
看板PHP
标题[请益] PHP比对日期
时间Wed Nov 30 00:50:48 2011
各位版上前辈好!
我的资料库的栏位是用DATE型态存 年-月-日
如今想由表单送出两个时间资料
分别是开始日期($startdate)和结束日期($enddate)
POST接收到日期後再下SQL语法
"SELECT CheckDate FROM CheckInfo WHERE CheckDate
BETWEEN '". $startdate ."' AND '". $enddate ."' "
目的是想要查出介於开始日期和结束日期的资料,
我有印出 $startdate和 $enddate 日期都显示正确。
错误讯息为:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
------------------
你好,我加了 . 之後还是有错误讯息@@
SELECT CheckDate FROM CheckInfo WHERE CheckDate BETWEEN '' AND ''
{"records":0,"page":0,"total":0,"rows":[]}
可是我在选好开始和结束日期之後,
送出时有echo查询命令:
SELECT CheckDate FROM CheckInfo WHERE CheckDate BETWEEN '2011-11-20'
AND '2011-11-30'
mysql里确定有在这区间的资料!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.27.160.242
1F:推 exboyfriend:你的 $enddate 後面 少了 个 . 11/30 01:19
2F:推 susaku:借此题问 能只撷取Date型态里'年'的数值 吗? 11/30 01:28
3F:→ mervynW:which db?? 11/30 01:31
4F:推 susaku:MySQL 不过我已经取出date那个栏位的值了 还是必须再取值 11/30 01:36
5F:→ susaku:的时候撷取? 11/30 01:36
6F:→ bigair:PHP的话, date('Y',strtotime($date)) or substr() 11/30 01:38
7F:推 mervynW:SELECT EXTRACT(YEAR FROM '2009-07-02'); => 2009 11/30 01:46
8F:推 susaku:刚刚发现 date('Y',strtotime($date)) 可以分别抓出年月日 11/30 04:50
9F:→ susaku:但是..却会跳回1970 01 01 = =a? 11/30 04:50
※ 编辑: taurus510 来自: 114.39.56.231 (11/30 09:59)
10F:推 exboyfriend:错误讯息还是一样? 11/30 18:16
11F:→ taurus510:欸错误讯息就变成我後来贴的 11/30 20:47
12F:→ taurus510:想请问是其实我日期没有传进去吗?Y 11/30 20:47
13F:→ MOONRAKER:这种讯息看起来是php的错误 SQL没有这种错误讯息 11/30 23:11
14F:→ taurus510:谢谢,但是我真的想不出来为什麽查不到@@ 11/30 23:29
15F:→ taurus510:那两个变数都是<input type=date > 11/30 23:30
16F:→ taurus510:还是接收後要再用 date($_["startdate"])包住呢? 11/30 23:31
17F:→ chrisQQ:你的 sql 有问题,所以根本没查到… 检查你的 sql 12/01 00:44
18F:→ taurus510:您好,我试过将变数的地方打成如 '2011-11-25' 12/01 22:18
19F:→ taurus510:这样的比对是没问题的 12/01 22:18
20F:→ taurus510:可是换成变数就抓不到@@ 12/01 22:18
21F:→ chrisQQ:那就是表单送出的变数有问题… 12/02 10:10
22F:→ taurus510:你好,可是我echo 出来是有显示的@@ 12/02 12:02
23F:→ taurus510:请问这样的日期格式和SQL的相同吗 12/02 12:03
24F:→ chrisQQ:你 echo 出来的日期长什麽样? 12/02 16:08
25F:→ taurus510:2011-11-20 12/02 17:04
26F:→ taurus510:如上面这样子,我在找HTML5的input type=date 12/02 17:04
27F:→ taurus510:不知道这个日期是字串还是怎样@@ 12/02 17:05
28F:→ taurus510:我用firebig观察他的DOM发现回传值是text 12/02 17:13
29F:→ taurus510:噢~不是text,我看错了 12/02 17:36
30F:→ maplenote:那试试用mysql的DATE()把字串包起来 看可不可以转成日期 12/03 11:49
31F:推 averywu:分号............ 12/03 14:04
32F:→ ThiefFan: 表单换用html5的date但php抓不到 搜来这篇没啥帮助 08/11 14:16
33F:→ ThiefFan: 但後来发现问题很蠢 只是因为写成id=xxxx(应name=xxxx) 08/11 14:16
34F:→ ThiefFan: 而会这样写是因为我找html5 date时google给的第一篇文 08/11 14:16