Заявка да намери дата по-малка от друга дата

maxaffey

Registered
здравейте,

имам следното скриптче:

Код:
$query = mysql_query ("SELECT * FROM oplojdania WHERE zaplojdane = 15.01.2016 ORDER BY zaplojdane") or die (mysql_error());
while ($a=mysql_fetch_array($query)) {
$zaplojdane=$a['zaplojdane']; 

echo "<br /><a href = 'members.php?username=$zaplojdane' />$zaplojdane";
}

искам обаче да не ми избира където
Код:
zaplojdane = 15.01.2016

а да избира дати по-малки от тази дата, примерно:
Код:
WHERE zaplojdane < 15.01.2016

или между 2 дати примерно


мерси предварително
Код:
WHERE zaplojdane < 15.01.2016 AND  zaplojdane > 01.01.2016

мерси предварително
 
http://www.w3schools.com/sql/sql_where.asp

Погледни основните оператори за where клаузата :) Има всичко , което ти трябва :)
 
stoqnski каза:
http://www.w3schools.com/sql/sql_where.asp

Погледни основните оператори за where клаузата :) Има всичко , което ти трябва :)

Тези са ясни, но нещо не стават с датите, като я съпоставя с "=" датата се получава, но като дам "<" или ">" ми вади всички записи. датата ми е във формат 01.01.2016.

може би трябва да я трансформирам в нещо или и аз незнам!
 
Код:
// точна дата
$currDate = date("Y-m-d", strtotime('15.01.2016'));
$query = "SELECT * FROM oplojdania WHERE STR_TO_DATE(zaplojdane,'%d.%m.%Y') = '".$currDate."' ORDER BY STR_TO_DATE(zaplojdane,'%d.%m.%Y')";

// период
$fromDate = date("Y-m-d", strtotime('01.01.2016'));
$toDate = date("Y-m-d", strtotime('15.01.2016'));
$query = "SELECT * FROM oplojdania WHERE STR_TO_DATE(zaplojdane,'%d.%m.%Y') BETWEEN '".$fromDate."' AND '".$toDate."' ORDER BY STR_TO_DATE(zaplojdane,'%d.%m.%Y')";

Принципно е добра идея самите дати (както от PHP, така и в базата) да са в date или datetime формат, за да не се налагат подобни гимнастики.

Успех.
 

Back
Горе