10. maj 2009 - 21:41
Der er
9 kommentarer og 1 løsning
Nærmeste db udtræk fra i dag
Hej med jer! Jeg har en tabel i en mySQL database, hvor hvert data har en tid gemt i: tid_aar, tid_maaned, tid_dag, tid_time og tid_minut. Hvordan kan jeg nemmest udskrive den tætteste (kommende) data i forhold til datoen i dag? Jeg havde tænkt på noget: SELECT * FROM tabel WHERE DATE_FORMAT(xxx) > NOW() LIMIT 1 Men ved ikke lige helt hvordan, og om det kan lade sig gøre sådan?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
du har minutter, timer osv. i hver sin kolonne? det er ikke særlig optimalt, du har ikke mulighed for at lave det om til en enkelt kolonne, som gemmer det som et timestamp i stedet? så kan du meget nemmere bruge det...
Ja det hører nok under SQL. Men jeg vidste ikke om det kun kunne lade sig gøre via SQL. #1 > Ja det er i hver sin konlonne. Det er fordi i INSERT situationen, skal brugeren selv vælge år, måned, dag osv.
#1 Det er jo det han skriver, det anbefales dig a ændre dette så du nemmere kan styre dette, du kan jo godt smide hele i samme feldt i DB :)
$okdato = checkdate($_POST["month"],$_POST["day"],$_POST["year"]); // checkdate tjekker om det er en gyldig dato if(false == $okdato) { echo"Fejl i dato'en!"; exit; } $savedate = $_POST["year"]."-".$_POST["month"]."-".$_POST["day"]." ".$_POST["hour"].":".$_POST["minute"].":00"; Så gemmer du $savedate i en kolonne som er af datetime typen
showsource > Det hjalp mig meget. Hvis jeg får det ind i datetime, hvordan kan jeg så lave den SELECT?
SELECT * FROM tabel WHERE datofelt > NOW() ORDER BY datofelt ASC LIMIT 1
Jamen det er super. Har ikke lige afprøvet det færdig endnu, men kan godt se at det også var dét jeg havde i tankerne. Svar.
Vi tilbyder markedets bedste kurser inden for webudvikling