06. marts 2012 - 19:59
Der er
11 kommentarer og 1 løsning
Første ledige dato
Hej Jeg har en tabel som har en colum som er en dato. Jeg har brug for den første dato som ikke er i tabellen, dvs det kan være dags dato eller en anden ud fra tabellen. eks: (dags dato=2012-03-06) ----------------------- | tabel | ----------------------- | id | dato | ----------------------- | 1 | 2012-03-06 | | 1 | 2012-03-07 | | 1 | 2012-03-08 | ----------------------- Forventer resultat: 2012-03-09 Hvis tabellen så sådan her ud (dags dato=2012-03-06): ----------------------- | tabel | ----------------------- | id | dato | ----------------------- | 1 | 2012-03-08 | ----------------------- Forventer resultat: 2012-03-06 Nogle forslag til hvordan jeg nemmest får dato'en?
Annonceindlæg fra Computerworld it-jobbank
06. marts 2012 - 20:03
#1
Er det implicit at dato ikke må være < dags dato?
06. marts 2012 - 20:06
#2
Hej Det må gerne være dags dato, bare dags dato ikke er i tabellen. Hvis dags dato er i tabellen, så er næste kandidat dags dato+1 hvis den heller ikke er i tabellen. /Jesper
06. marts 2012 - 20:11
#3
Hvilket format ligger dato i?
06. marts 2012 - 20:12
#4
Hej Det ligger sådan her: 2012-03-20 yyyy-mm-dd
06. marts 2012 - 20:14
#5
er det en varchar(10)?
06. marts 2012 - 20:17
#6
Nej Typen "date" i mysql /Jesper
06. marts 2012 - 20:30
#7
Nå, ok, jeg plejer at bruge time - men logikken er vel den samme. Lav en select order by date where date >= today. Sæt $match = false Lav derefter en mysql_fetch_array med en (if $match==false) hvor du tæller dagen op med en for hvert gennemløb. Sæt $match = true første gang du har et hit.
06. marts 2012 - 20:45
#8
Det vil jeg forsøge mig med. SMider du et svar?
06. marts 2012 - 20:55
#9
JA - når du melder tilbage at det virker :-)
07. marts 2012 - 08:55
#10
Æhem. Hva ska han gøre hvis han skal gennem øvelsen to gange på samme dag?
01. april 2012 - 19:53
#11
Jeg kom frem til det her: date_default_timezone_set("Europe/Paris"); //$db = new Database; // create the $db object $db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE); // connect to the server $db->connect(); $ts = time(); $try_date = date("Y-m-d", $ts); $date_count=1; while ($date_count <> 0) { $sql = "SELECT COUNT(*) as free_date FROM bookingdate WHERE booking_date = '".$try_date."'"; $record = $db->query_first($sql); $date_count = $record['free_date']; $try_date = date("Y-m-d", strtotime($try_date. ' + 1 day')); } $try_date = date("j-n-Y", strtotime($try_date. ' - 1 day')); echo $try_date;
01. juli 2012 - 20:01
#12
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling