佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1080|回复: 15

php 拿不到两个日期中间的data!!

[复制链接]
发表于 8-4-2009 04:48 PM | 显示全部楼层 |阅读模式
这是我写的

<?php
$mysql_server_name="localhost";
$mysql_username="root";
$mysql_password="";
$mysql_database="inventory";

$day=$_POST['day'];
$month=$_POST['month'];
$year=$_POST['year'];
$day2=$_POST['day2'];
$month2=$_POST['month2'];
$year2=$_POST['year2'];

$sql = "SELECT ID, quantity, DATE_FORMAT(time,%d,%m,%y) FROM `inventory`.`instock` WHERE time BETWEEN %d='$day',%m='$month',%y='$year' AND %d='$day2',%m='$month2',%y='$year2' ";

$conn = mysql_connect($mysql_server_name ,$mysql_username ,$mysql_password );
$result = mysql_db_query($mysql_database, $sql , $conn );

echo"<table border='1'cellpadding='3' cellspacing='3'  align='center'>
<tr>
    <th width='30'>ID</th>
    <th width='80'>QUANTITY</th>
    <th width='60'>PRICE</th>
</tr>
</table>";

while($row=mysql_fetch_row($result))
{
  //print_r($row);
?>
<table  border="1" cellpadding='3' cellspacing='3' align="center">
  <tr>
    <td width="30"><?php echo $row[0] ?></td>
    <td width="80"><?php echo $row[1] ?></td>
    <td width="60"><?php echo $row[2] ?></td>
  </tr>
</table>
<?php   
}
echo "</table>";
mysql_free_result($result);
?>
回复

使用道具 举报


ADVERTISEMENT

发表于 8-4-2009 04:57 PM | 显示全部楼层

回复 1# 心影 的帖子

什么来的???对不起我看不懂
回复

使用道具 举报

 楼主| 发表于 8-4-2009 05:08 PM | 显示全部楼层
原帖由 不懂神 于 8-4-2009 04:57 PM 发表
什么来的???对不起我看不懂


没关系!!
回复

使用道具 举报

发表于 8-4-2009 05:36 PM | 显示全部楼层
建议你不要这样子记录日期。
是用全数字会比较方便。
回复

使用道具 举报

 楼主| 发表于 8-4-2009 05:49 PM | 显示全部楼层
原帖由 vampcheah 于 8-4-2009 05:36 PM 发表
建议你不要这样子记录日期。
是用全数字会比较方便。


如何能?
回复

使用道具 举报

 楼主| 发表于 8-4-2009 06:23 PM | 显示全部楼层
有谁知道我错在哪里吗???
回复

使用道具 举报

Follow Us
 楼主| 发表于 9-4-2009 12:01 PM | 显示全部楼层
有人会吗?帮帮忙!!
回复

使用道具 举报

发表于 9-4-2009 02:09 PM | 显示全部楼层
你是用甚麼 time format?

如果用 unix time format 為甚麼不直接用 mktime() ?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 9-4-2009 02:19 PM | 显示全部楼层
原帖由 blue333 于 9-4-2009 02:09 PM 发表
你是用甚麼 time format?

如果用 unix time format 為甚麼不直接用 mktime() ?


我用DATETIME
回复

使用道具 举报

发表于 9-4-2009 03:36 PM | 显示全部楼层
看清楚, 你的 select 語法錯漏百出當然不行拉.

應該用 having 不是用 where  

DATE_FORMAT() 語法也錯了.
回复

使用道具 举报

发表于 9-4-2009 05:27 PM | 显示全部楼层
原帖由 心影 于 8-4-2009 05:49 PM 发表


如何能?


建议用 date('Y-m-d') 来store 进database 就能得到完整日期
database 是支持这样的格式 eg: 2009-01-31
回复

使用道具 举报

 楼主| 发表于 9-4-2009 05:42 PM | 显示全部楼层
原帖由 blue333 于 9-4-2009 03:36 PM 发表
看清楚, 你的 select 語法錯漏百出當然不行拉.

應該用 having 不是用 where  

DATE_FORMAT() 語法也錯了.


hehe你能试试看改我的coding吗!!
回复

使用道具 举报

发表于 9-4-2009 10:02 PM | 显示全部楼层
你這樣找出來得日期好像不很精準,如果你要這樣做的話請參考

where 的方法:
$sql="select * from instock where DATE_FORMAT(time,'%d,%m,%y')>'".$day.",".$month.",".$year."' and DATE_FORMAT(time,'%d,%m,%y')<'".$day2.",".$month2.",".$year2."'";

having 的方法:
$sql="select *,DATE_FORMAT(time,'%d,%m,%y') as time2 from instock having time2>'".$day.",".$month.",".$year."' and time2<'".$day2.",".$month2.",".$year2."'";
回复

使用道具 举报

发表于 9-4-2009 10:05 PM | 显示全部楼层
你這樣找出來得日期好像不很精準,如果你要這樣做的話請參考

where 的方法:
$sql="select * from instock where DATE_FORMAT(time,'%d,%m,%y')>'".$day.",".$month.",".$year."' and DATE_FORMAT(time,'%d,%m,%y')<'".$day2.",".$month2.",".$year2."'";

having 的方法:
$sql="select *,DATE_FORMAT(time,'%d,%m,%y') as time2 from instock having time2>'".$day.",".$month.",".$year."' and time2<'".$day2.",".$month2.",".$year2."'";
回复

使用道具 举报

 楼主| 发表于 9-4-2009 11:53 PM | 显示全部楼层
原帖由 blue333 于 9-4-2009 10:05 PM 发表
你這樣找出來得日期好像不很精準,如果你要這樣做的話請參考

where 的方法:
$sql="select * from instock where DATE_FORMAT(time,'%d,%m,%y')>'".$day.",".$month.",".$year."' and DATE_FORMAT(time,'%d,%m,% ...



可以了!!谢谢你!!!
真的是sql的问题,用你的就可以了!!
回复

使用道具 举报

发表于 12-4-2009 01:20 PM | 显示全部楼层
查詢語法的資料表應該不需要引號吧!
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 17-12-2025 12:37 AM , Processed in 0.129305 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表