Gå til innhold

[Løst]Sitter fast på et explode problem


Anbefalte innlegg

Hei,

 

Håper noen kan hjelpe meg. Jeg henter ut en dato fra en database, som hvis jeg printer denne rett ut er i dette formatet: 2009-10-20

 

Jeg ønsker denne datoen som 20. Oktober 2009

 

Da har jeg laget et script, som jeg trodde skulle fungere, men det gjør det ikke og jeg finner ikke feilen. Håper noen kan hjelpe...

function date_convert($inDate) {
$txt_month = "";
$dateArr = explode('-',$inDate);

$dateArr[0] = $year;
$dateArr[1] = $month;
$dateArr[2] = $day;

switch($month){
	case 1:
		$txt_month = "Januar";
		break;
	case 2:
		$txt_month = "Februar";
		break;
	case 3:
		$txt_month = "Mars";
		break;
	case 4:
		$txt_month = "April";
		break;
	case 5:
		$txt_month = "May";
		break;
	case 6:
		$txt_month = "Jun";
		break;
	case 7:
		$txt_month = "July";
		break;
	case 8:
		$txt_month = "August";
		break;
	case 9:
		$txt_month = "September";
		break;
	case 10:
		$txt_month = "October";
		break;
	case 11:
		$txt_month = "November";
		break;
	case 12:
		$txt_month = "Desember";
		break;
}

return $day . ". " . $txt_month . " " . $year;
}

$inDate er da datoen som kommer fra databasen...

 

Det jeg får ut nå er bare .

Endret av TeisL
Lenke til kommentar
Videoannonse
Annonse
Jeg ønsker denne datoen som 20. Oktober 2009

 

Et lite tips: skal det være på norsk så skrives månedene med liten forbokstav, er det engelsk skal det skrives October 20. 2009 (eller 20th, usikker på om de tillater punktum faktisk)

 

function date_convert($inDate) {
$txt_month = "";
$dateArr = explode('-',$inDate);

$dateArr[0] = $year;
$dateArr[1] = $month;
$dateArr[2] = $day;
}

Det jeg får ut nå er bare .

 

Du har byttet om tilordningene her, så istedet for å tilegne variabelen $month verdien 10 , så setter du alle verdiene i arrayet til ""

 

Denne feilen oppdages av PHP-parseren dersom du ber om det, noe jeg anbefaler under testing/utvikling. Prøv å legg til følgende øverst i php skriptet:

<?php
ini_set("error_reporting", E_ALL); // Rapporterer alle feil
ini_set("display_errors", 1); // Viser feilene
?>

Dette gir følgende feilmelding:

 

Notice: Undefined variable: month in ***/test.php on line **

 

Tips: skriv ut verdien av $month før switch/case, og sjekk verdien av array med print_r($dateArr);

 

$dateArr = explode('-', $inDate);
$year = $dateArr[0];
$month = $dateArr[1];
$day = $dateArr[2];

eller litt kortere:

list($year, $month, $day) = explode('-', $inDate);

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...