05. marts 2004 - 11:36
Der er
18 kommentarer og 1 løsning
List datoer imellem 2 datoer
Jeg har en start dato og en slut dato. eks. 10.02.2004 - 12.04.2004 jeg vil gerne ud af det have have en liste med alle datoer imellem de dage. 10 11 12 13 14 15 16 17 18 19 20 etc.....
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
05. marts 2004 - 11:42
#1
Ingen som har et svar?
05. marts 2004 - 11:52
#2
Prøv: <? $start = '10.02.2004'; $slut = '12.04.2004'; define('DAG', 60*60*24); $starttid = tid($start); $sluttid = tid($slut); for ($i=$starttid;$i<=$sluttid;$i+=DAG) { echo date('d.m.Y', $i)."<br />"; } function tid ($dansk) { list ($dag, $maaned, $aar) = explode('.', $dansk); $tid = mktime(12,0,0,$maaned,$dag,$aar); return $tid; } ?>
05. marts 2004 - 12:21
#3
Grundet overgangen til sommertid, skal du lige ændre: for ($i=$starttid;$i<=$sluttid;$i+=DAG) { til: for ($i=$starttid;$i<=$sluttid+3600;$i+=DAG) {
05. marts 2004 - 13:47
#4
Mange tak, Et lille sp? Hvis jeg har et projekt som køre fra: $start = '10.02.2004'; $slut = '12.04.2004'; og det projekt har flere opgaver: eks. et fra 22.02.204 til 10.03.2004 Jeg vil så lave en ehile løkke som laver det samme som før men den skal nu ikke skrive dato'en men den skal lave en farve når man kommer til det interval som opgaven er i. ' Projekt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Opgave1 8-13 xxxxxxxxxxxxxxx Opgave2 13 - 18 xxxxxxxxxxxxxxxxx
05. marts 2004 - 13:49
#5
flere 60 point eller flere give for et svar
05. marts 2004 - 14:14
#6
Her et eksempel på hvordan du principielt kan løse det. Du kan jo så tilføje flere farver i $col array'et eller vælge at vise små gif's eller lign.: <? $start = '10.02.2004'; $slut = '12.04.2004'; $opgstart[0] = '22.02.2004'; // Opgave 1 $opgslut[0] = '10.03.2004'; $opgstart[1] = '01.03.2004'; // Opgave 2 $opgslut[1] = '20.03.2004'; $opgstart[2] = '14.02.2004'; // Opgave 3 $opgslut[2] = '12.03.2004'; $col = array('red','blue','green'); define('DAG', 60*60*24); $starttid = tid($start); $sluttid = tid($slut); for ($i=0;$i<count($opgstart);$i++) { $opgstarttid[$i] = tid($opgstart[$i]); $opgsluttid[$i] = tid($opgslut[$i])+3600; } for ($i=$starttid;$i<=$sluttid+3600;$i+=DAG) { echo date('d.m.Y', $i); foreach ($opgstarttid as $key=>$val) { if ($opgstarttid[$key] <= $i && $opgsluttid[$key] >= $i) { echo "<span style='color: ".$col[$key].";'> O</span>"; } } echo "<br />"; } function tid ($dansk) { list ($dag, $maaned, $aar) = explode('.', $dansk); $tid = mktime(12,0,0,$maaned,$dag,$aar); return $tid; } ?>
05. marts 2004 - 14:33
#7
er ikke helt hvad jeg ledte efter tror jeg, prøver lige at uddybe mit sp? har du en mail jeg kan sende? jeg laver en gif som viser det jeg skal lave..
05. marts 2004 - 14:36
#8
hmm, ja: sveegaard@hotmail.com
05. marts 2004 - 14:41
#9
sendt..
05. marts 2004 - 14:44
#10
modtaget...
05. marts 2004 - 14:50
#12
perfekt.
05. marts 2004 - 15:22
#13
att: detox mangler du info om hvad jeg mangler at få hjælp til?
05. marts 2004 - 15:29
#14
Her er et udkast, men det skal siges at formateringen driller i NS og Mozilla, men det ser nogenlunde ud i IE. Jeg er ikke så god til css, så jeg ved ikke helt hvad der går galt i NS og Mozilla: <? $start = '10.02.2004'; $slut = '12.04.2004'; $opgstart[0] = '22.02.2004'; $opgslut[0] = '10.03.2004'; $opgstart[1] = '01.03.2004'; $opgslut[1] = '20.03.2004'; $opgstart[2] = '14.02.2004'; $opgslut[2] = '12.03.2004'; $col = array('red','blue','green'); define('DAG', 60*60*24); $starttid = tid($start); $sluttid = tid($slut); for ($i=0;$i<count($opgstart);$i++) { $opgstarttid[$i] = tid($opgstart[$i]); $opgsluttid[$i] = tid($opgslut[$i])+3600; } echo "<div style='width: 1000px; height: 12px;'>"; $bcol = '#eeff99'; for ($i=$starttid;$i<=$sluttid+3600;$i+=DAG) { if ($bcol == '#eeff99') $bcol = '#ddee99'; else $bcol = '#eeff99'; echo "<span style='width:15px; height: 15px; background-color: ".$bcol."; font: bold xx-small Georgia; text-align: center; vertical-align: middle;'> ".date('d', $i).'</span>'; } echo "</div><hr />"; for ($j=0;$j<count($opgstart);$j++) { echo "<div style='width: 1000px; height: 7px;'>"; for ($i=$starttid;$i<=$sluttid+3600;$i+=DAG) { $bcol = ($opgstarttid[$j] <= $i && $opgsluttid[$j] >= $i) ? '#00ee00' : '#ffffff'; echo "<span style='width: 15px; height: 4px; background-color: ".$bcol."; font: bold 4px Georgia; text-align: center; vertical-align: middle;'> </span>"; } echo "</div>"; } function tid ($dansk) { list ($dag, $maaned, $aar) = explode('.', $dansk); $tid = mktime(12,0,0,$maaned,$dag,$aar); return $tid; } ?>
05. marts 2004 - 15:32
#15
05. marts 2004 - 15:41
#16
Ser rigtig godt ud. last sp? jeg har alle opgave start slut tider i en mysql DB hvordan laver jeg det her om til en mysql select? så den hiver fat i X antal udtræk fra db'en automatik. $opgstart[0] = '22.02.2004'; $opgslut[0] = '10.03.2004'; $opgstart[1] = '01.03.2004'; $opgslut[1] = '20.03.2004'; $opgstart[2] = '14.02.2004'; $opgslut[2] = '12.03.2004';
05. marts 2004 - 15:51
#17
Hvis de eksempelvis ligger i 'start' og 'slut': $res = mysql_query("select start, slut from tabel order by start"); while ($row = mysql_fetch_assoc($res)) { $opgstart[] = $row['start']; $opgslut[] = $row['slut']; }
05. marts 2004 - 15:55
#18
Men hvis du alligevel har dem liggende i en tabel, så kan du gøre det meget lettere ved at opbevare dem i et brugbart format (DATE, DATETIME, TIMESTAMP eller endnu nemmere i dette tilfælde: UNIX_TIMESTAMP). Du vil så nemt kunne hente tiden ud i et brugbart format og springe alle mellemregninger over.
Vi tilbyder markedets bedste kurser inden for webudvikling