Date en Français
labourette
Messages postés
657
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'ai récupéré une fonction qui me retourne la date de PhpmyAdmin au format Français cela fonctionne bien sauf si des dates de naissance ne sont pas renseigné dans ma BDD alors ça me retourne cette erreur
Notice: Undefined offset: 2 in C:..........................
je souhaiterai que les champs reste vide si il n'y a pas de date de naissance de renseigné dans ma BDD.
Pouvez-vous m'aider à corriger mon problème je vous met la fonction.
Un grand merci à vous
J'ai récupéré une fonction qui me retourne la date de PhpmyAdmin au format Français cela fonctionne bien sauf si des dates de naissance ne sont pas renseigné dans ma BDD alors ça me retourne cette erreur
Notice: Undefined offset: 2 in C:..........................
je souhaiterai que les champs reste vide si il n'y a pas de date de naissance de renseigné dans ma BDD.
Pouvez-vous m'aider à corriger mon problème je vous met la fonction.
Un grand merci à vous
function dateFR($date_en_francais){ preg_match (''^(\d{4})-(\d{2})-(\d{2})(.*)$'', $date_en_francais, $out); if($out[2]<10){$out[2]=substr($out[2],1,1);} $i=$out[2]; $mois = array('','Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai','Juin','Juillet', 'Aout', 'Septembre', 'Octobre','Novembre', 'Decembre'); return $out[3].' '.$mois[$i].' '.$out[1].' '.$out[4]; }
A voir également:
- Date en Français
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Telechargement film d'action complet en francais - Télécharger - TV & Vidéo
- Glary utilities en français - Télécharger - Nettoyage
- Télécharger adobe reader 9.1 français gratuit - Télécharger - PDF
5 réponses
Bosnoir,
Sinon jai ça:
A+
Sinon jai ça:
<?php class DatesFr { private $listeMois = array( '01' => 'janvier', '02' => 'février', '03' => 'mars', '04' => 'avril', '05' => 'mai', '06' => 'juin', '07' => 'juillet', '08' => 'août', '09' => 'septembre', '10' => 'octobre', '11' => 'novembre', '12' => 'décembre', ); public function dateSqlToFr($dateSql, $format='JJ/MM/AAAA') { list($annee, $mois, $jour) = explode('-', $dateSql); if($format=='JJ/MM/AAAA') { return $jour.'/'.$mois.'/'.$annee; } else if($format=='JJ mmm') { return $jour.' '.$this->listeMois[$mois]; } else if($format=='JJ mmm AAAA') { return $jour.' '.$this->listeMois[$mois].' '.$annee; } // valeur de retour par défaut return $dateSql; } }
A+
Salut,
Peut-être pourrais-tu contrôler tes variables ?
Rajouter des conditions pour voir ce qu'il y a dans $date_en_francais avant l'appel de ta fonction dateFR() ou contrôler le résultat de $out après l'appel à preg_match ()
Peut-être pourrais-tu contrôler tes variables ?
Rajouter des conditions pour voir ce qu'il y a dans $date_en_francais avant l'appel de ta fonction dateFR() ou contrôler le résultat de $out après l'appel à preg_match ()
Bonjour
Merci pour votre aide, en fait j'ai changer dans ma BDD j'ai mis pour date de naissance par défault comme ça, lorsque aucune date n'est renseignée il y aura 00 00 0000 plus aucun problème.
Merci
Merci pour votre aide, en fait j'ai changer dans ma BDD j'ai mis pour date de naissance par défault comme ça, lorsque aucune date n'est renseignée il y aura 00 00 0000 plus aucun problème.
Merci
Bonjour
En fait en décochant NULL ça a l'air de fonctionner..
Ou il n'y a pas de date de naissance de renseignée ça affiche 00 00 0000.
Pourquoi il faut absolument mettre à NULL?
Merci
En fait en décochant NULL ça a l'air de fonctionner..
Ou il n'y a pas de date de naissance de renseignée ça affiche 00 00 0000.
Pourquoi il faut absolument mettre à NULL?
Merci
Il faut éviter 0000-00-00 car certains frameworks ne gèrent pas CETTE DATE.
Par exemple, pour savoir si un événement a une date de fin, vous faites simplement:
...WHERE date_fin IN NOT Null
qui est 10x plus rapide en filtrage que
...WHERE date_fin > "0000-00-00"
Une date en 0000-00-00 risque également de poser problème pour un script faisant une conversion en timestamp. Bug assuré.
Par exemple, pour savoir si un événement a une date de fin, vous faites simplement:
...WHERE date_fin IN NOT Null
qui est 10x plus rapide en filtrage que
...WHERE date_fin > "0000-00-00"
Une date en 0000-00-00 risque également de poser problème pour un script faisant une conversion en timestamp. Bug assuré.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Merci très explicite votre réponse.
Je vais remodifier ma BDD.
J'ai ouvert un autre post sur une erreur que j'ai sur mon serveur car en local ça marche nickel peux tu me donner des explications concernant cette erreur ?
Merci
Merci très explicite votre réponse.
Je vais remodifier ma BDD.
J'ai ouvert un autre post sur une erreur que j'ai sur mon serveur car en local ça marche nickel peux tu me donner des explications concernant cette erreur ?
Merci
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
C'est simple, vous "émettez" un ou plusieurs caractères avant de faire un session-start()
On ouvre une session UNE SEULE fois en début de script
BON:
MAUVAIS:
erreur classique, le fichier includé est structuré comme ceci:
le "caractère" parasite sera le retour ligne après ?>
A+
On ouvre une session UNE SEULE fois en début de script
BON:
<?php session-start(); ... etc....
MAUVAIS:
<?php include 'db.inc.php'; session-start(); ... etc....
erreur classique, le fichier includé est structuré comme ceci:
<?php ....code... ?>
le "caractère" parasite sera le retour ligne après ?>
A+
Merci pour ta class, peux tu me dire comment je fait pour l'inclure dans mon tableau.
Je te remercie
et plus loin:
....
Merci pour votre aide.
J'ai encore un petit soucie lorsque des champs ne sont pas renseigné dans ma BDD cela m'affiche cette erreur par contre sinon cla m'affiche bien 18/07/1958 mais j'aurai préféré
18 juillet 1958.
Merci
Notice: Undefined offset: 2
C'est pourtant assez évident dans le code de la fonction, non?
Concernant les dates "vides", il est assez facile de modifier le code pour ne rien afficher. Un test, un peu de IF.... je vais pas tout faire. Il faut aussi apprendre un peu.