INSERT date INTO MySql

Tags:    insert

Sidder med et lille problem.
- Jeg skal have en dato lagt ind, i databasen.

Når jeg trykker submit i min form skal den smide datoen for dagen ind i databasen.
Det skal være datoen skrevet som f.eks. "14. Juli, 2012"

Nogen som kan give mig feedback på mit problem, for har forsøgt at læse mig frem til det, men synes ikke rigtigt jeg får det til at virke. !!

Jeg bruger forresten i phpmyadmin funktionen "date" under date.

Er der nogen spørgsmål, besvarer jeg dem gerne. !!
Jeg har brugt nedenstående kode:
Fold kodeboks ind/udPHP kode 




7 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato

$query="INSERT INTO blog (headline, author, date, blogpost, blogpic)VALUES('$headline', '$author', '$date', '$blogpost', '$blogpic')";


et bud kunne være:
du kan ikke bruge date som navn på dit felt, da det er en fuction (eller kan man godt, så skal du skrive: `date`)

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date

edit: hvis jeg har forstået dit problem, eller er det formatet der ikke er korrekt?



Indlæg senest redigeret d. 14.06.2012 17:06 af Bruger #3427
Problemer lidt i, at hvis jeg bruger
$date = date("Y-m-d");
og gerne vil have det sådan her: 14. Juni 2012 eller 14. Jun, 12
Så skriver den bare 0000-00-00 :S

Derfor forsøgte jeg at finde hjælp her (:



emh nu bruger jeg ikke selv date, jeg benytter unix timestamp men ville tro det er pga dit format skal være i "yyyy-mm-dd" og ikke "14. Juni 2012"




Jamen, når jeg skal lave et blog indlæg, skal den jo skrive "14. Juni 2012" og ikke bare 0000-00-00 og i php koden står den jo til
Fold kodeboks ind/udPHP kode 

Skriver jeg det på den måde som den viser automatisk er det sådan her:
Fold kodeboks ind/udPHP kode 

Og det er jo ikke der jeg vil hen ;)



Når du bruger feltet DATE i din phpmyadmin/mysql tabel, så kan du med fordel lave følgende.

$query="INSERT INTO blog (headline, author, dato, blogpost, blogpic)VALUES('$headline', '$author', 'curdate()', '$blogpost', '$blogpic')";
$result=mysql_query($query);

Bemærk som Kenneth skriver, så er ordet date reserveret - så enten ændrer du det til dato (som jeg har gjort i eksemplet) eller benytter gnyffer som Kenneth også henviser til.

Når du har indsat din værdi, eksempelvis 2012-06-14 - så brug funktionen date_format()

Eksempel:

$query = "SELECT headline, author, blogpost, blogpic, date_format(dato, '%d-%m-%y') as blogdato FROM blog";
// while løkke eller lignende..
echo $me-query['blogdato'];

Så kan du så vidt muligt udtrække dem som du vil, i ovenstående tilfælde bliver det 14-06-12. Dette kan du så vha. et array() smide til dansk - dvs. du opretter en funktion/array med de danske måneder som du dernæst kører igennem dit output fra din query.

Håber det hjælper dig på rette vej :)



Indlæg senest redigeret d. 14.06.2012 17:38 af Bruger #16936
jeg laver det sådan her, bruger int og ikke date.

$query="INSERT INTO blog (headline, author, dato, blogpost, blogpic)VALUES('$headline', '$author', UNIX_TIMESTAMP(), '$blogpost', '$blogpic')";

og udskriver det sådan her i php fra databasen:
echo date("j. M, y", $dbRow["date"]);

ved ik hvordan det virker med date..



Cool, så slipper jeg for at forklare hvordan du opretter et array med danske måneder osv.

Kig på denne hjemmeside, den forklarer det præcis som du vil have det.

http://phptips.dk/Datoer_i_PHP_og_MySQL.tip eller http://phptips.dk/brug_danske_dage_og_maaneder.tip

Jeg vil dog stadig henvise dig til at bruge MySQL's indbyggede funktioner til dato/tid eller i det mindste bruge PHP's time().



Indlæg senest redigeret d. 14.06.2012 17:53 af Bruger #16936
t