Fonction permettant de convertir une chainede caractère en date

Signaler
Messages postés
17
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
17 juillet 2009
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
Bonjour,

  Je suis entrain de developper une application sous PHP\MySQL dans laquelle je crée des produits avec leurs dates(de sotockage). J'ai un tableau qui m'affiche tous les poduits stockés dans la base avec bien evidemment leurs dates de stockage et je peux  même faire le tri de ces poduits selon leurs noms ou leurs dates. Mais le  problème c'est que si j'ai par exemple 3 produits avec les dates de stockage suivantes: 01/01/2005, 02/01/2003, 03/01/2006 au lieu d'avoir 02/01/2003, 01/01/2005, 03/01/2006 , j'ai autre chose (le tri est complètement erroné) car les dates je les stocke dans la base sous format varchar , je voudrai pas les stoquer sous format date car j'ai rencontré pas mal de pobs.

Est-ce qu'il existe une fonction PHP qui permet de convertir les chaines de caractères en date.

Merci!!

4 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

pas une date au format français vers un format british. Tu dois la faire toi-même (pas très compliqué).
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"je voudrai pas les stoquer sous format date car j'ai rencontré pas mal de pobs."
Grosse erreur.

Soit tu utilises un format type DATE, soit INTEGER en gardant ta date au format UNIX_TIMESTAMP.

Tu ne peux faire AUCUNE comparaison sur des chaines de caractères !! AUCUNE !
Donc soit tu révises ton projet pour un format DATE, soit ENTIER.

De toute facon, t'as pas le choix... donc autant se le dire tout de suite.

Si tu rencontres un problème avec les dates ==>
http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

Y'a pas plus explicite :p
Messages postés
17
Date d'inscription
lundi 28 août 2006
Statut
Membre
Dernière intervention
17 juillet 2009

J'ai enfin résolu le poblème grâce à la fonction str_to_date().


j'ai fais comme suit :

$sql="select  produit_code,  produit_name, str_to_date(stock_date, '%m.%d.%Y') as madate from produit";
$res = mysql_query($sql);

$nbr_of_prod=0;

while($prod = mysql_fetch_array($res))
 
 { 
   
 
   $tab_prod[$nbr_of_prod]["produit_code"]=$Iprod["produit_code"]; 
   $tab_prod[$nbr_of_prod]["produit_name"]=$prod["produit_name"];
   $tab_inks[$nbr_of_prod]["madate"]= $prod["madate"]; 

 
    $nbr_of_prod++;

}
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Tu t'emmerdes bien pour rien...

Mon avis perso de toute facon !