|
查看: 1080|回复: 15
|
php 拿不到两个日期中间的data!!
[复制链接]
|
|
|
这是我写的
<?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);
?> |
|
|
|
|
|
|
|
|
|
|
发表于 8-4-2009 04:57 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 8-4-2009 05:08 PM
|
显示全部楼层
原帖由 不懂神 于 8-4-2009 04:57 PM 发表 
什么来的???对不起我看不懂
没关系!! |
|
|
|
|
|
|
|
|
|
|
发表于 8-4-2009 05:36 PM
|
显示全部楼层
建议你不要这样子记录日期。
是用全数字会比较方便。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 8-4-2009 05:49 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 8-4-2009 06:23 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 9-4-2009 12:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 9-4-2009 02:09 PM
|
显示全部楼层
你是用甚麼 time format?
如果用 unix time format 為甚麼不直接用 mktime() ? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 12-4-2009 01:20 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|