Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/05/2007, 14h00   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 35
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 35
Points : 7
Points : 7
Par défaut format de date

Bonjour,

voilà j'ai un petit soucis d'alimentation d'une table.

J'ai une date sous le format dd/mm/yyyy qui est saisie sur un formulaire.

Mais je n'arrive à l'enregistrer en table.

Je pense que c'est à cause du format, alors j'aimerais savoir comment vous faîtes pour gérer cette problèmatique. A priori mysql attend yyyymmdd si j'ai bien compris? Y a-t-il une méthode simple?

Merci d'avance.
Hisander est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2007, 14h07   #2
Membre habitué
 
Inscription : mai 2007
Messages : 149
Détails du profil
Informations personnelles :
Âge : 25
Localisation : Luxembourg

Informations forums :
Inscription : mai 2007
Messages : 149
Points : 113
Points : 113
Une petite fonction php que j'ai trouvé sur Internet :

Code :
1
2
3
4
FUNCTION dateswitch($Date){ 
	$regs=explode("/", "/".$Date);
	RETURN $regs['3']."/".$regs['2']."/".$regs['1'];
}
En fait, il sépare la date que tu lui donne en paramètre en 3 lorsqu'il trouve les tirets, il les enregistre dans $regs, et après il retourne une chaîne où les valeurs sont réordonnées.
Si la date est au format DD/MM/YYYY, après le explode, tu as $regs[1] = DD, $regs[2] = MM, $regs[3] = YYYY, et il retournera YYYY/MM/DD.

Voilà.
keul85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 15h07   #3
Membre actif
 
Inscription : avril 2007
Messages : 286
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2007
Messages : 286
Points : 192
Points : 192
Bonjour,
merci d'avoir répondu à cette question puisque la mienne est quasiment la meme... mais j'aurais besoin de quelques informations complémentaires.
Moi j'ai une date de format mm-dd-yyyy que je veux passer en yyyy-mm--dd... mais j'ai beau éplucher la FAQ et cette petite fonction rien à faire, j'y arrive pas!

Donc voila le code (inclut dans une classe d'ou le $this) :

La fonction modifiée :
Code :
1
2
3
4
5
6
7
 
 //passe une date de format mm-dd-yyyy en yyyy-mm-dd
	FUNCTION dateswitch($date)
	{ 
		$regs=explode("-", "-".$date); 
		RETURN $regs['3']."-".$regs['1']."-".$regs['2']; 
	}
et dans le code principal :
Code :
1
2
 
$jourOk=$this->dateswitch($dateJour);
et j'obtiens lorsque je fais un echo de $jourOk : "7-7-" lorsque $date=07-02-2007
Bizarre donc...

Merci beaucoup pour votre aide!
fayred est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 16h09   #4
Membre chevronné
 
Avatar de pop_up
 
Inscription : avril 2006
Messages : 833
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 833
Points : 690
Points : 690
Si ton champ est en varchar utilise ceci pour la passer au format date:
Code :
1
2
 
STR_TO_DATE(ta_chaine_date,'%d/%m/%Y')
ensuite utilise ceci mais normalement si elle est au format date il ne doit pas y avoir de probleme:
Code :
1
2
 
DATE_FORMAT(ta_date,'%d/%m/%Y')
pop_up est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 08h57   #5
Membre actif
 
Inscription : avril 2007
Messages : 286
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2007
Messages : 286
Points : 192
Points : 192
Merci pour ta réponse! En fait je n'ai pas utilisé les fonctions que tu m'as proposé car je me suis rendu compte (et là c'est le moment où j'ai honte) que je ne passais pas bien mon argument en entrée de la méthode pour la date donc forcement..........
Enfin maintenant c'est bon et le code que j'avais posté precedemment fonctionne bien (si on lui donne ce qu'il faut bien sur...)

Bonne journée!
fayred est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h42.


 
 
 
 
Partenaires

Hébergement Web