Babu Ahmed
Babu Ahmed

Reputation: 121

Php Mysql Search Between Two Dates

I've mysql table like this:

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

I'm trying to get username where start_date is between 2013-03-31 to 2013-05-01 with following query:

// $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']; 

But It's just print username = 18, It's should be print 18 and 19 number username. why it's doesn't show? Any idea?

Upvotes: 5

Views: 46615

Answers (3)

Farhadix
Farhadix

Reputation: 1457

SELECT username FROM oc_calendar WHERE start_date between '$from' AND '$to'

Upvotes: 1

Treps
Treps

Reputation: 800

Query:

$search = mysql_query("SELECT username FROM oc_calendar WHERE 
start_date between '$from' AND '$to'");

And you need a while-loop to display more that one username and a correct SQL-query (see above):

while($re_search = mysql_fetch_array($search)) {
  $re_search['username'] . '<br>';
}

Upvotes: 8

Angel
Angel

Reputation: 333

You can use this query :

$search = mysql_query("SELECT username FROM oc_calendar WHERE start_date between '$from' AND '$to'"); 

Regarding the condition that you are using :

where start_date >'$from'

your fromdate = 2013-03-31 so the above mentioned condition is not true for username = 19. Instead you should use

where start_date >= '$from' and startdate <='$to'

Upvotes: 0

Related Questions