Script php: saisie de dates sans format date
Résolu
Antroff
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Antroff Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Antroff Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur le développement d'un petit logiciel php et je souhaite que soit afficher sur la page d'accueil un message rappelant l'anniversaire des enfants.
J'ai une base de données mysql : application, une table :enfant des champs : nom_enfant, prenom_enfant, datenaiss_enfant sous la forme yyyy,mm,dd mais sans le format date.
pourriez vous m'expliquer un script?
je travaille sur le développement d'un petit logiciel php et je souhaite que soit afficher sur la page d'accueil un message rappelant l'anniversaire des enfants.
J'ai une base de données mysql : application, une table :enfant des champs : nom_enfant, prenom_enfant, datenaiss_enfant sous la forme yyyy,mm,dd mais sans le format date.
pourriez vous m'expliquer un script?
A voir également:
- Script php: saisie de dates sans format date
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
2 réponses
C'est très simple en réalité, tu récupère ta date sous le format que tu as ...
Soit par exemple : 2010,25,11.
en php, la date du jour est facile a récupérer ..
Soit par exemple : 2010,25,11.
en php, la date du jour est facile a récupérer ..
$date_anniv = "2010,25,11"; // récupérer sur ta bdd. $date_anniv2 = explode(',',$date_anniv); $date_anniv2 = $date_anniv[1].$date_anniv[2]; $date_du_jour = date('d,m', time()); if($date_du_jour == $date_anniv2) { echo "Aujourd'hui nous sommes le ".date('d-m-Y', time()).", c'est l'anniversaire de ... ";
Bonjour,
C'est à dire ?
Tu veux dire quoi pas : sans le format de date ?
ce qui me gêne également c'est que le formate DATE dans les BDD est : YYYY-MM-DD (pas de virgules...)
Bref.. si ton champ datenaiss_enfant n'est pas en DATE (dans la BDD).. il sera compliqué d'obtenir ce que tu veux.... et surtout.. ça montre un souci de conception !
En partant du principe que tu modifie cela (pour mettre donc un champ de type DATE ) .. il te suffira de faire une requête pour récupérer la liste des enfants ....
un truc du genre :
Cordialement,
Jordane
datenaiss_enfant sous la forme yyyy,mm,dd mais sans le format date
C'est à dire ?
Tu veux dire quoi pas : sans le format de date ?
ce qui me gêne également c'est que le formate DATE dans les BDD est : YYYY-MM-DD (pas de virgules...)
Bref.. si ton champ datenaiss_enfant n'est pas en DATE (dans la BDD).. il sera compliqué d'obtenir ce que tu veux.... et surtout.. ça montre un souci de conception !
En partant du principe que tu modifie cela (pour mettre donc un champ de type DATE ) .. il te suffira de faire une requête pour récupérer la liste des enfants ....
un truc du genre :
SELECT * FROM enfant WHERE DATE_FORMAT( datenaiss_enfant,'%m-%d') = DATE_FORMAT( NOW(),'%m-%d')
Cordialement,
Jordane
Je pense tout de même qu'il risque d'avoir un souci de performances (lorsqu'il va vouloir faire un SELECT pour récupérer toutes les personnes dont l'anniversaire est aujourd'hui....) si son champ 'date' dans sa BDD n'est pas au format DATE ( mais en varchar par exemple...) .....
.... je ne dis pas que ça ne peut pas fonctionner... je dis par contre que ça va être plus compliqué (ou du moins.. beaucoup moins performant).
Comment puis -je insérer le résultat dans une page php svp?
merci j'ai changé le champ en date . La requête marche dans mysql.
Je voudrais laitre afficher le resultat dans une page php j'ai écrit ça mais je rencontre des soucis:
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'application';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$requete = "SELECT nom_enfant FROM enfant WHERE DATE_FORMAT( datenaiss_enfant, '%m-%d' ) = DATE_FORMAT( NOW( ) , '%m-%d' )
LIMIT 0 , 30;
$resultat=mysql_query($query);
tu mets une boucle
while ($row=mysql_fetch_array($resultat)){
et tu affiches soit par un
echo $row[nom_du_champ]
?>
remplacer la ligne :
$date_du_jour = date('d,m', time());
par
$date_du_jour = date('dm', time());
Cependant c'était surtout pour donner l'idée de comment faire.