Eller kan man via PHP skapa en date som representerar det datum man vill jämföra med? Hur i så fall?
Det kanske går bättre. Fast, jag kan ju inte flytta frågan tyvärr....
7 svar · 387 visningar · startad av aasah
Jag har en kolumn D som innehåller en DATE. Nu vill jag göra följande (fast utan pseudokod):
SELECT * FROM tabell
where D > "för 5 dagar sedan";
Hur skriver jag det villkoret? :q Använder MySQL.
Eller kan man via PHP skapa en date som representerar det datum man vill jämföra med? Hur i så fall?
Det kanske går bättre. Fast, jag kan ju inte flytta frågan tyvärr....
antar att detta är vad du söker
SELECT * FROM tabell WHERE D > DATE_SUB( CURDATE( ) , INTERVAL 5 DAY );
Du kan också använda Php för att få fram datumet för fem dagar sen med hjälp av funktionen date:
$sql = "SELECT * FROM tabell WHERE D > '" . date("Y-m-d", time() - 60 * 60 * 24 * 5) . "'";
(60 sekunder på en minut, 60 minuter på en timme, 24 timmar på ett dygn, 5 dygn.)
Hade det gått hade jag accepterat tydals svar också! :D Tackar! :D
Hur närmare bestämt är det tänkt att man ska använda dessa funktioner? :q
Följande fungerar inte:
$fiveDaysAgo = date("Y-m-d", time() - 60 * 60 * 24 * 5);
$query = "SELECT * FROM tabell
WHERE A ='".$_SESSION["sessID"]."' AND
B=".$_POST["B"]." AND Datum < $fiveDaysAgo";
Men inte heller detta verkar funka...
$query = "SELECT * FROM FROM tabell
WHERE A ='".$_SESSION["sessID"]."' AND
B=".$_POST["B"]." AND Datum < DATE_SUB( CURDATE( ) , INTERVAL 5 DAY )";
En testkod som använder endera varianten och sedan:
$res = mysql_query($query) or die("main save: ".mysql_error());
while ($row = mysql_fetch_array($res, MYSQL_NUM)) {
foreach ($row as $ix => $val)
echo "$ix => $val, ";
echo "<BR>";
}
skriver inte ut någonting alls??? :q :x Och ifall det hade funkat hade en rad kommit ut. Vad är det jag har missförstått? :q
(Den andra post där detta är nämnt visade sig inte ha något med detta problem att göra. Det problemet är löst. Därför verkar det mer motiverat att fråga om tips jag fått i denna tråd här. Alltså borde det inte vara en korspostning tycker jag.)
Släng ut SQL-frågan till webbläsaren så du får se att de php-variabler du använder innehåller de värden du tror. Om sessionsvariabeln sessID inte innehåller något vettigt får du inte heller något resultat.
Mvh
Det trodde jag att jag hade gjort, @nders... Hur som helst, vit magi har varit i farten. Idag fungerade det direkt utan att jag ändrat någonting.... :r Förstår inte vad jag höll på med igår... :r
Har accepterat svaren ovan igen.