26. september 2006 - 21:33
Der er
6 kommentarer og 1 løsning
Nedtælling til dato
Hej Eksperter Jeg har nu forgæves ledt efter noget kode der tæller antal dage til en specifik dato. Jeg henter datoen den skal tælle ned til, fra min database i Y-m-d. Er det noget en eller anden kan hjælpe mig med? :-) På forhånd tak
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?
26. september 2006 - 22:01
#1
jamen skal det være løbende for så skal du jo over i javascript, men ellers: <? $y_m_d = "2006-07-24"; $tilbage = (strtotime($y_m_d) - time()); $dage = floor($tilbage / (60*60*24)); echo $dage . " tilbage"; ?>
26. september 2006 - 22:02
#2
Du kan jo ikke lave noget der opdaterer tiden af sig selv i ren php ? du skal have noget javascript med... jeg har måske noget du kan bruge...
26. september 2006 - 22:18
#3
jeg har et script med progressbar, som jeg selv bruger med tider der er hentet ud af min database, dette er dog ned på minut og sekund niveau, ikke dage... ?
26. september 2006 - 22:21
#4
Duration og waitTime er det jeg tager fra databasen hvor jeg udregner hvor lang tid der er gået siden start og hvor lang tid det tager i alt. Det burde kunne omskrives, og at fjerne progressbaren skulle heller ikke være noget problem. Dette er ment som inspiration: <?php echo "<SCRIPT LANGUAGE='JavaScript'>"; echo "var Duration = '$Duration';"; echo "var waitTime = '$waitTime';"; ?> var loadedcolor='rgb(49,156,206)' ; // PROGRESS BAR COLOR var unloadedcolor='white'; // COLOR OF UNLOADED AREA var bordercolor='navy'; // COLOR OF THE BORDER var barheight=20; // HEIGHT OF PROGRESS BAR IN PIXELS var barwidth=300; // WIDTH OF THE BAR IN PIXELS if(Duration < 0) { Duration = 0; waitTime = -1; } var loaded = Duration*10; function RemoveDec(tal){ if(!(""+tal).match(/^[\d.]+$/))return tal; tal = ""+Math.round(+tal*1)/1; punkt = tal.indexOf("."); if(punkt<0)return tal; return (tal).substring(0,punkt+0+1); } var ns4=(document.layers)?true:false; var ie4=(document.all)?true:false; var blocksize=(barwidth-2)/waitTime/10; var percentage=0; var PBouter; var PBdone; var PBbckgnd; var Pid=0; var txt=''; if(ns4) { txt+='<table border=0 cellpadding=0 cellspacing=0><tr><td>'; txt+='<ilayer name="PBouter" visibility="hide" height="'+barheight+'" width="'+barwidth+'">'; txt+='<layer width="'+barwidth+'" height="'+barheight+'" bgcolor="'+bordercolor+'" top="0" left="0"></layer>'; txt+='<layer width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+unloadedcolor+'" top="1" left="1"></layer>'; txt+='<layer name="PBdone" width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+loadedcolor+'" top="1" left="1"></layer>'; txt+='</ilayer>'; txt+='</td></tr></table>'; txt+='<span id=percentage>'+percentage+'%</span>'; } else { txt+='<div id="PBouter" style="position:relative; visibility:hidden; background-color:'+bordercolor+'; width:'+barwidth+'px; height:'+barheight+'px;">'; txt+='<div style="position:absolute; top:1px; left:1px; width:'+(barwidth-2)+'px; height:'+(barheight-2)+'px; background-color:'+unloadedcolor+'; font-size:1px;"></div>'; txt+='<div id="PBdone" style="position:absolute; top:1px; left:1px; width:0px; height:'+(barheight-2)+'px; background-color:'+loadedcolor+'; font-size:1px;"></div>'; txt+='</div>'; txt+='<span id=percentage>'+percentage+'%</span>'; } document.write(txt); function incrCount() { window.status="In Progress..."; loaded++; if(loaded<0) { loaded=0; } if(loaded>=waitTime*10) { clearInterval(Pid); loaded=waitTime*10; window.status='Finished'; } percentage = RemoveDec(loaded/(waitTime/10)); var rem_time = RemoveDec(waitTime - loaded/10); var remaining_time_hour = ((rem_time-(rem_time%3600))/3600); if(remaining_time_hour < 10) remaining_time_hour = "0" + remaining_time_hour; var remaining_time_min = (((rem_time%3600)-((rem_time%3600)%60))/60); if(remaining_time_min < 10) remaining_time_min = "0" + remaining_time_min; var remaining_time_sec = rem_time%60; if(remaining_time_sec < 10) remaining_time_sec = "0" + remaining_time_sec; document.getElementById('percentage').innerHTML = percentage+'% Estimated Time Remaining: ' + remaining_time_hour + ':' + remaining_time_min + ':' + remaining_time_sec; resizeEl(PBdone, 0, blocksize*loaded, barheight-2, 0); } function findlayer(name,doc) { var i,layer; for(i=0;i<doc.layers.length;i++) { layer=doc.layers[i]; if(layer.name==name)return layer; if(layer.document.layers.length>0) if((layer=findlayer(name,layer.document))!=null) return layer; } return null; } function progressBarInit() { PBouter=(ns4)?findlayer('PBouter',document):(ie4)?document.all['PBouter']:document.getElementById('PBouter'); PBdone=(ns4)?PBouter.document.layers['PBdone']:(ie4)?document.all['PBdone']:document.getElementById('PBdone'); resizeEl(PBdone,0,0,barheight-2,0); if(ns4) PBouter.visibility="show"; else PBouter.style.visibility="visible"; Pid=setInterval('incrCount()',95); } function resizeEl(id,t,r,b,l) { if(ns4) { id.clip.left=l; id.clip.top=t; id.clip.right=r; id.clip.bottom=b; } else id.style.width=r+'px'; } window.onload=progressBarInit; </SCRIPT>
26. september 2006 - 23:06
#5
Jeg skal kun bruge det i dage, og jeg tvivler på nogen gider og vente i 24 timer på at se den skifte, så det skal blot være i php ;-) elskermad.dk, dit forslag virker fint.. Men min server kører i GMT.. kan du måske ordne timezonen til GMT+1? :-)
26. september 2006 - 23:15
#6
Nevermind, smid et svar ;-)
26. september 2006 - 23:52
#7
det er vel bare at plusse 60*60 til $tilbage ? eller omvendt, kan ikke lige gennemskue GMT hehe... :)
Vi tilbyder markedets bedste kurser inden for webudvikling