LoS Skrevet 6. april 2004 Del Skrevet 6. april 2004 Hei! Søkte litt på dette med forsto lite. Altså, jeg har en kode som ser slik ut: switch ($mon) { case 1: echo "Januar"; break; case 2: echo "Februar"; break; case 3: echo "Mars"; break; case 4: echo "April"; break; case 5: echo "Mai"; break; case 6: echo "Juni"; break; case 7: echo "Juli"; break; case 8: echo "August"; break; case 9: echo "September"; break; case 10: echo "Oktober"; break; case 11: echo "November"; break; case 12: echo "Desember"; break; } Jeg kjører dette scriptet opptil 4-5 ganger i et script og syns da at scriptet blir unødvendig stort. Har lært meg litt om "functions", men ikke nok til å lage en slik funksjon som gjør at jeg kan kjøre samme scriptet flere ganger i ett script, og funksjonen bare er definert en gang. Er jo ikke krise men hadde jo vært veldig kjekt å lært Lenke til kommentar
Svendsen Skrevet 6. april 2004 Del Skrevet 6. april 2004 hvis jeg forstår deg riktig, vil du lage en function, gjerne i ei annen fil og includere den, for å så hente frem når du behøver den? noe sånt: ? ?? function month() { $mon=date(n); switch ($mon) { case 1: echo "Januar"; break; case 2: echo "Februar"; break; case 3: echo "Mars"; break; case 4: echo "April"; break; case 5: echo "Mai"; break; case 6: echo "Juni"; break; case 7: echo "Juli"; break; case 8: echo "August"; break; case 9: echo "September"; break; case 10: echo "Oktober"; break; case 11: echo "November"; break; case 12: echo "Desember"; break; } } Lenke til kommentar
LoS Skrevet 6. april 2004 Forfatter Del Skrevet 6. april 2004 nja, det er nesten ihvertfall, men den skal ikke sjekke hvilken måned det er nå, den skal sjekke det ut ifra en gitt tid. Kan egentlig vise hele scriptet jeg har laget som skal regne ut den datoen. For scriptet ditt funka desverre ikke Scriptet: $today = getdate($msg_date); $mday=$today[mday]; $mon=$today[mon]; $year=$today[year]; $hours=$today[hours]; $minutes=$today[minutes]; echo "<div style=\"width:250px;float:left;\"><p class=\"pm2\">Motatt: $hours:$minutes $mday "; switch ($mon) { case 1: echo "Januar"; break; case 2: echo "Februar"; break; case 3: echo "Mars"; break; case 4: echo "April"; break; case 5: echo "Mai"; break; case 6: echo "Juni"; break; case 7: echo "Juli"; break; case 8: echo "August"; break; case 9: echo "September"; break; case 10: echo "Oktober"; break; case 11: echo "November"; break; case 12: echo "Desember"; break; } echo ", $year</p></div>"; $msg_date er "tiden siden unix epoken" hentet utifra en database. Lenke til kommentar
???????? Skrevet 6. april 2004 Del Skrevet 6. april 2004 (endret) Bruk array: $måned = array(1 => "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"); echo $måned[date("n", $bestemt_tid)]; og mktime() Endret 6. april 2004 av ???????? Lenke til kommentar
RottePostei Skrevet 6. april 2004 Del Skrevet 6. april 2004 (endret) function getMonthName($month) { switch ($month) { case 1: return "Januar"; ... } ... echo getMonthName($mon); Edit: Men ????? sin versjon er nok bedre. Du kan jo teste denne hvis du vil lære deg funksjoner. Endret 6. april 2004 av RottePostei Lenke til kommentar
LoS Skrevet 6. april 2004 Forfatter Del Skrevet 6. april 2004 (endret) RottePostei sin funka bra den! Takk skal du ha Skjønte lite av ???????? sin fordi jeg er ikke så veldig skilled edit: kanskje man skulle se litt på den, kan den legges i en egen fil og? Endret 6. april 2004 av LoS Lenke til kommentar
???????? Skrevet 6. april 2004 Del Skrevet 6. april 2004 (endret) Så lenge du den ikke skal gjøre noe mer avansert enn det så bude du bruke en array. Du kan legge den i en annen side, for månedene blir lagret i variabelen. Den fungerer veldig lett, du legger inn månedene i en array: $måned = array( 1 => "Januar", 2 => "Februar", 3 => "Mars", 4 => "April"... ); Siden en array starter på 0 setter vi den første verdien til 1, (1=>), man slipper å gjøre det for alle variablene - men da ser du letter hvordan funksjonen fungerer. echo $måned[1]; gir da outputen Januar echo $måned[2] gir outputen Februar Arrays er ofte så viktig at det er bedre å lære seg å bruke før du lærer å bruke functions. Endret 6. april 2004 av ???????? Lenke til kommentar
LoS Skrevet 6. april 2004 Forfatter Del Skrevet 6. april 2004 Ok, i under min ville utprøving () fikk jeg fram denne: $måned = array(1 >= "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"); echo $måned[date("n", mktime(0,0,0,$mon,0,0))]; Det står ihvertfall april nå da, bare håpe det er riktig da Lenke til kommentar
???????? Skrevet 6. april 2004 Del Skrevet 6. april 2004 (endret) Når du har gitt måneden så slipper du å bruke mktime(), bruk: CODE $måned = array(1 => "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"); echo $måned[$mon]; Endret 6. april 2004 av ???????? Lenke til kommentar
???????? Skrevet 6. april 2004 Del Skrevet 6. april 2004 (endret) Samme post kom 2 ganger! Endret 6. april 2004 av ???????? Lenke til kommentar
LoS Skrevet 6. april 2004 Forfatter Del Skrevet 6. april 2004 Ok, takker! Forresten, på det øverste scriptet så måtte jeg sette >= istedenfor => hvis ikke så ble det mars Takk igjen Lenke til kommentar
???????? Skrevet 6. april 2004 Del Skrevet 6. april 2004 Forresten, på det øverste scriptet så måtte jeg sette >= istedenfor => hvis ikke så ble det mars Hvordan får du til det? Hvilket tall ligger i variabelen $mon? Lenke til kommentar
LoS Skrevet 6. april 2004 Forfatter Del Skrevet 6. april 2004 hmm, prøv å lag samme script som jeg visste ovenfor hvor du fjerner $msg_date fra getdate(), så skal du vel finne det ut. Har satt opp egen server og konfigurasjonen er en del annerledes fra de fleste andre. 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å