我有这样的mysql表:
id start_date username
1 2013-04-04 18
2 2013-03-31 19
3 2013-04-04 19
4 2013-04-02 19
5 2013-04-03 18
我正在尝试获取用户名,其中start_date介于2013-03-31至2013-05-01之间,并带有以下查询:
// $from = 2013-03-31 and $to = 2013-03-01 (example)
$search = mysql_query("SELECT username FROM oc_calendar WHERE start_date >'$from' AND
start_date < '$to'");
$re_search = mysql_fetch_array($search);
echo $search_p_id = $re_search['username'];
但它只是打印用户名= 18,它应该是打印18和19号用户名。为什么它不显示?有什么想法吗?
答案 0 :(得分:7)
<强>查询:
$search = mysql_query("SELECT username FROM oc_calendar WHERE
start_date between '$from' AND '$to'");
你需要一个while循环来显示更多的用户名和正确的SQL查询(见上文):
while($re_search = mysql_fetch_array($search)) {
$re_search['username'] . '<br>';
}
答案 1 :(得分:0)
您可以使用此查询:
$search = mysql_query("SELECT username FROM oc_calendar WHERE start_date between '$from' AND '$to'");
关于您正在使用的条件:
where start_date >'$from'
你的fromdate = 2013-03-31所以上面提到的条件不适用于username = 19.相反你应该使用
where start_date >= '$from' and startdate <='$to'
答案 2 :(得分:0)
SELECT username FROM oc_calendar WHERE start_date between '$from' AND '$to'