【发布时间】:2012-12-07 21:42:49
【问题描述】:
我有一个数组,列出了设定日期(2 周支付期)的 14 个日期:
$punchCard = array();
Array(
[1] => Array(
[showDate] => 2012-12-04
[codeDate] => 20121204)
[2] => Array(
[showDate] => 2012-12-05
[codeDate] => 20121205)
.........................................
[12] => Array(
[showDate] => 2012-12-15
[codeDate] => 20121215)
[13] => Array(
[showDate] => 2012-12-16
[codeDate] => 20121216)
[14] => Array(
[showDate] => 2012-12-17
[codeDate] => 20121217)
)
我想遍历它并从数据库中返回一些数据:
foreach($punchCard as $date){
$sql = "
SELECT date, time
FROM `timeclock`
WHERE `employee`=" . $_SESSION['id'] . "
AND `date`=" . (int)$date['codeDate'] . "
ORDER BY `time` ASC ";
$result = mysql_query($sql);
$timecard = array();
while($row = mysql_fetch_assoc($result)){
$timecard[] = $row;
}
}
这不起作用,但是:
$sql = "
SELECT date, time
FROM `timeclock`
WHERE `employee`=" . $_SESSION['id'] . "
AND `date`=20121204
ORDER BY `time` ASC ";
不知何故 (int)$date['codeDate'] 不起作用,但我无法理解它,它可能很简单......
泰勒
【问题讨论】:
-
什么样的日期字段使用整数?为什么不试试
echo $sql;看看它是什么样子的? -
$punchCard[0]['codeDate'] = date("Ymd", strtotime("+0 day", $start)); -
$sql 看起来相同但没有数组
-
您的表中的
date数据类型是什么?另外,在mysql_query之后添加or die(mysql_error());。 -
date是int(8)并且$result = mysql_query($sql) or die(mysql_error());没有错误
标签: php mysql arrays multidimensional-array