jogil Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Hei, skulle gjerne ha laget ett simpelt script, men vet ikke hvordan jeg gjør det. Det er så enkelt som dette: echo "Er det fredag?"; if "fredag" echo "ja" else "nei" Noe slikt som det. Bare dama mi som ville ha det på hjemmesiden sin =) Lenke til kommentar
dabear Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 (endret) <?php $date = date('N'); if($date == 5) { echo 'det er femte dag i uka'; } else { echo 'det er en annen dag i uke'; } ?> Se på http://no.php.net/date. Endret 11. mars 2008 av dabear Lenke til kommentar
Martin A. Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Det er langt i fra så enkelt. if( strftime( '%A' ) == 'Friday' ) { echo "Det er fredag!"; } else { $next_friday = strtotime( 'next Friday' ); $diff = ceil( ( $next_friday - time() ) / (60*60*24) ); echo "Det er ~{$diff} dager til neste fredag"; } Lenke til kommentar
dabear Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Det er langt i fra så enkelt. Hva behager? Koden min funker da, og gjør akkurat det jogil ber om. Lenke til kommentar
Zandar Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Det er langt i fra så enkelt. Hva behager? Koden min funker da, og gjør akkurat det jogil ber om. dabear's løsning er enkel og grei den, men funker kun i PHP 5.1.0 eller nyere. En løsning som fungerer for flere versjoner er <?php $date = date('w'); if ($date == 5) { echo 'Det er fredag'; } else { echo 'Det er ikke fredag'; } ?> date('w') returnerer 0(Søndag) til 6(Lørdag) mens date('N') returnerer 1(Mandag) til 7(Søndag) Lenke til kommentar
Ernie Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Så kan det jo nevnes at strftime er bundet opp mot locale, noe som ikke er spesielt heldig. Altså, er php på serveren f.eks konfigurert til å spytte ut ting på norsk vil strftime gjøre nettopp det. Lenke til kommentar
Martin A. Skrevet 11. mars 2008 Del Skrevet 11. mars 2008 Det er langt i fra så enkelt. Hva behager? Koden min funker da, og gjør akkurat det jogil ber om. Var ingenting mot din kode. Begynte på innlegget før du hadde svart, men måtte teste dette med tiden til neste fredag etc, så derfor tok det litt lengre tid Så kan det jo nevnes at strftime er bundet opp mot locale, noe som ikke er spesielt heldig. Altså, er php på serveren f.eks konfigurert til å spytte ut ting på norsk vil strftime gjøre nettopp det. Var inne på tanken, helt til jeg fant ut at Microsoft bruker andre "navn" på localene. nb_NO i unix er 'nor' i Windows. Derfor hoppet jeg over hele den biten. Av den grunn blir kanskje en kombinasjon av min og dabear sin kode noe som bør fungere overalt. Lenke til kommentar
Zandar Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 (endret) Var inne på tanken, helt til jeg fant ut at Microsoft bruker andre "navn" på localene. nb_NO i unix er 'nor' i Windows. Derfor hoppet jeg over hele den biten. Av den grunn blir kanskje en kombinasjon av min og dabear sin kode noe som bør fungere overalt. Herregud.. hvorfor skal du gjøre det så mye vanskeligere enn det er?.. Det eksisterer jo allerede en enkel måte å hente ut hvilken dag det er.. date('w') som jeg nevnte i mitt forrige innlegg gjør nettopp det. Endret 12. mars 2008 av Zandar Lenke til kommentar
jogil Skrevet 12. mars 2008 Forfatter Del Skrevet 12. mars 2008 Det skal ikke mange på svar her ihvertfall Men som jeg fryktet, så blir det mye synsing og mening. Det blir i praksis litt vanskelig å sette 10 kokker til å lage ett måltid Jeg skal se hvem av kodene jeg skal bruke, men nå venter bilen på meg, skal kjører noen mil idag. Takker for alle svar, kjør på! Lenke til kommentar
jogil Skrevet 12. mars 2008 Forfatter Del Skrevet 12. mars 2008 Jeg brukte koden til Martin, og denne fungerte. Men hva om det er kun èn dag igjen, hvordan løses dette? Lenke til kommentar
Flin Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 Kun en dag igjen? Til det blir fredag? Lenke til kommentar
Martin A. Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 Jeg brukte koden til Martin, og denne fungerte. Men hva om det er kun èn dag igjen, hvordan løses dette? Tenker du på at det da st¨r "~1 dager...." ? Det kan i såfall løses på denne måten if( date( 'w' ) == 5 ) // Happy nå, Zandar? { echo "Det er fredag!"; } else { $next_friday = strtotime( 'next Friday' ); $diff = ceil( ( $next_friday - time() ) / (60*60*24) ); echo ( $diff > 1 ) ? "Det er ~{$diff} dager til neste fredag" : "Det er ~{$diff} dag til neste fredag"; } Lenke til kommentar
avalandon Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 Eller hva med: if( date( 'w' ) == 5 ) // Happy nå, Zandar? { echo "Det er fredag!"; } else { $next_friday = strtotime( 'next Friday' ); $diff = ceil( ( $next_friday - time() ) / (60*60*24) ); echo ( $diff > 1 ) ? "Det er ~{$diff} dager til neste fredag" : "I morgen er det fredag, Jippi!"; } Lenke til kommentar
jogil Skrevet 12. mars 2008 Forfatter Del Skrevet 12. mars 2008 Haha, jeg gikk for den siste der. Dette blir toppers, nå blir dama fornøyd. Skal ha den på linja under banneret på en Nuke-side. Jeg forsto ikke hva jeg skulle med ' ~ ', så jeg droppa dette tegnet. Ser ut til å fungere allikevel. =) Takker så mye for hjelpen, nå blir det kanskje noe på meg til Fredag? Kun to dager igjen! Snart er det fredag!!!! Lenke til kommentar
Martin A. Skrevet 12. mars 2008 Del Skrevet 12. mars 2008 ~ betyr "omtrent". Siden jeg droppa desimaltall i antall dager frem til fredag, så rundet jeg det oppover til nærmeste heltall, og slang på ~. Lenke til kommentar
Zandar Skrevet 13. mars 2008 Del Skrevet 13. mars 2008 (endret) Tenker du på at det da st¨r "~1 dager...." ? Det kan i såfall løses på denne måten if( date( 'w' ) == 5 ) // Happy nå, Zandar? { echo "Det er fredag!"; } else { $next_friday = strtotime( 'next Friday' ); $diff = ceil( ( $next_friday - time() ) / (60*60*24) ); echo ( $diff > 1 ) ? "Det er ~{$diff} dager til neste fredag" : "Det er ~{$diff} dag til neste fredag"; } Hehe, synes fremdeles du gjør det vel komplisert Du bruker 3 forskjellige php dato/tid-funksjoner for å regne ut noe som er enkel matematikk. Slik ville jeg ha løst det. <?php $dag = date('w'); //returnerer 0(søndag) til og med 6(lørdag) if ($dag == 5) { echo 'Det er fredag!!'; } else { $ant_dager = ($dag > 5) ? 6 : 5 - $dag; if ($ant_dager > 1) { echo "Det er $ant_dager dager til fredag."; } else { echo 'Det er fredag i morgen!'; } } ?> Endret 13. mars 2008 av Zandar Lenke til kommentar
Flin Skrevet 13. mars 2008 Del Skrevet 13. mars 2008 Tenkte jeg skulle ta på meg rollen som forteller: Moralen i denne historien er at selv de enkleste problemer kan ha hundre forskjelige løsninger i php. Det er en av de tingene jeg liker best med php. Lenke til kommentar
Wackamole Skrevet 13. mars 2008 Del Skrevet 13. mars 2008 Du har rett dær, men det er inn i hælv***e vannsklig og komme fram til den mest effektive... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå