Page 1 sur 1

probleme de date

Posté : 17 juin 2005, 10:32
par airben
Bonjour

Voila j'ai un formulaire dans la quel il y a un champ date ;

Code : Tout sélectionner

<td class="style2">Date de naissance* : </td> <td class="style2"><select name="ddn_j" class="SELECT" id="Jour"> <option value="0">JJ</option> <option value="1">01</option> ---- --- <td class="style2"><select name="ddn_m" class="SELECT" id="moi"> ------ ---- <td class="style2"><select name="ddn_m" class="SELECT" id="moi"> ------- --------
Comment recupere cette date el la mettre dans ma base de donnée , et quel ne soit que dans un champ de ma table .

Je voudrais quel soit comme ceci dans ma table
--------------------------------------------
Nom | prenom | date de naisssance|
--------------------------------------------
Duboi | François |02-05-1984


Actuellement j'arrive à la mettre comme ceci dans ma table
--------------------------------------------
Nom | prenom | ddn_j |ddn_m | ddn_m
--------------------------------------------
Duboi | François |02 | 05 | 1984

Est - ce possible ? :?

Merci

Posté : 17 juin 2005, 10:54
par ouckileou
tu ne pourras pas la stocker comme ça :
02-05-1984

si tu stockes une date, tu dois mettre un type date

ça prend moins de place et c'est plus facile à manipuler (calculs, différences entre deux dates etc etc)

dans un champ date elle sera stockée comme ça :
1984-05-02

cet ordre est utilisé car cela permet de trier facilement ensuite

il te suffit de faire une petite fonction à la sortie en PHP qui va inverser année et jour pour afficher en français

donc pour stocker ta date de naissance, tu fais un champ "ddn" de type Date

Posté : 17 juin 2005, 11:05
par Invité
Bonjou

J'y es pensé mais sa donne rien j'ai fais comme ceci (sachant que date1 est de type date) .


------
-----
$dispo_jour =$_POST['dispo_jour'];
$dispo_mois =$_POST['dispo_mois'];
$dispo_annee =$_POST['dispo_annee'];

$date1=date("$dispo_jour-$dispo_mois-$dispo_annee");


----------
Voici ma requet

$sql = "INSERT INTO cv VALUES('','$nom','$prenom','$date1')";
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
mysql_close();

Mais sa ne marche pas , je n'est pas de message d'erreur.
Dans le champ date1 de ma table sa m'affiche 0000-00-00.
Sa n'a pas pris en compte la date

Posté : 17 juin 2005, 11:11
par Cyrano
Inverse la construction de ta date et refais une concaténation de chaîne normale:
$date1=date($dispo_annee."-".$dispo_mois."-".$dispo_jour); 

Posté : 17 juin 2005, 11:26
par airben
MERCI bien :wink:
sa marche c'est super

PS: Peut tu me dire comment peut on mettre la balise RESOLU dans le forum

Posté : 17 juin 2005, 11:41
par ouckileou
tu ne peux pas car tu n'es pas inscrit alors inscrit toi pour le faire tout seul les prochaines fois ;)

Posté : 20 juin 2005, 17:29
par airben
Bonjour

J'ai encoors un petit souci avec la date. Je m'explique;

Bonjour
jai un formulaire lequel il y la possibilité de selection sa date de naissanse . mais aussi une date de disonnibilité.

Je souhaitrai mettre les deux chacune dans un champ de ma table.Je procede donc de la maniere suivante..

$ddn_j = $_POST['ddn_j'];
$ddn_m = $_POST['ddn_m'];
$ddn_a = $_POST['ddn_a'];
$dispo_jour =$_POST['dispo_jour'];
$dispo_mois =$_POST['dispo_mois'];
$dispo_annee =$_POST['dispo_annee'];
$date_dispo=date($dispo_annee."-".$dispo_mois."-
".$dispo_jour);
$date_naiss=date($ddn_j."-".$ddn_m."-".$ddn_a);

date_dispo ce met dans le champ "date_dispode" de ma table sous la forme 2005-02-06 . Grace nottamanent a votre aide

Mais par contre dans le champ date_naiss , j'ai 0000-00-00 malgré que j'ai selectionné une date de naissance(dans le formulaire).
Dans une table peut on mettre plusieur champ de type date? :?

D'ou vient le probleme. MERCI POUR VOTRE AIDE.

Posté : 20 juin 2005, 17:36
par Cyrano
Tu peux avoir autant de champs que tu veux dans une table, tous de type DATE si l'envie te prend de le faire. Suffit juste que chaque champ ait un nom différent.

Posté : 20 juin 2005, 17:48
par Invité
Bonjour
Mais pourquoi alors sa m'affiche 0000-00-00 dans le champ année de naissance.

Posté : 20 juin 2005, 18:01
par Cyrano
Parce que tu as mis ce champ à NOT NULL et que c'Est la valeur par défaut qui est inscrite si tu ne mets pas de valeur.

Posté : 20 juin 2005, 18:11
par airben
Je rentre bien des valeurs 'date de naissance et date dispo ' a partir de mon formulaire a rien ne ca passe en ce qui concerne la date de naissance .

Avant sa marché bien mais dans ma table , j'avais mis les champ suivant:
$ddn_j ,ddn_m, ddn_a , pour la date de naissance

dispo_jour , dispo_mois, dispo_annee pour la date de disponnobilité .

Les champs été tous bien renseigné , ma table egalement.

Mais pour allégé ma table , j'ai fais ce que j'ai expliqué plus haut

Posté : 21 juin 2005, 14:22
par airben
Vraiment je suis vraiment nul . J'ai trouvé .
Enfaite au lieu d'ecrire ceci $date_naiss=date($ddn_j."-".$ddn_m."-".$ddn_a);

Il fallait mettre cela

$date_naiss=date($ddn_a."-".$ddn_m."-".$ddn_j);
Et la sa marche bien
Merci :wink:

champ date

Posté : 01 juil. 2005, 13:43
par biloute
bonjour,

Je cherche à renseigner un champ date dans un formulaire à l'aide d'un petit calendrier qui s'afficherait lors de la saisie.
Je n'ai pas trouvé cette fonction dans php. Quelqu'un a une idée ? merci

Posté : 01 juil. 2005, 13:48
par ouckileou
il n'y a pas de fonctions toute faite en PHP pour ça
le calendrier tu dois le con,struire toi-même, avec du javascript si tu vexu qu'en cliquant sur un lien le champ soit remplis

va voir dans le CCoin des Développeurs, il me semble que quelqu'un à posté de quoi faire ce calendrier

et la prochaine fois poste un nouveau sujet, ton problème n'est pas vraiment le même que celui évoqué précédemment