PHP : INSERT 3 listes deroulantes champ date

benoit -  
 benoit -
bonjour :

j'ai un probleme. J'ai crée un formulaire avec un champ date coposé de trois liste deroulante j_rub pour le jour(01,02...), m_rub pour lemois(9,10,11,12)et a_rub pour l'année(05,06...).
Je souhaite insérer ces trois champs dans l'attribut date_rubrique de ma table. J'ai donc effectué la commande suivante :

$requete="insert into article (num_article, titre_article,
date_article, texte_article, auteur_article) values(num_article,'".$_POST["titre_rubrique"]."',".$_POST["j_rub"]."'-'".$_POST["m_rub"]."'-,'".$_POST["a_rub"].",'".$_POST["texte_rubrique"]."','".$_POST["auteur_rub"]."')";

$execute=mysql_query($requete);

et l'insertion ne se fait pas. Le problème vient de date_article.
A voir également:

5 réponses

Padoo Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   18
 
C'est normal que l'insertion ne ce fasse pas, l'ordinateur considere que chacue de tes variables doit rentrer dans un champs. Il ne devine pas tous seul quelles variables doivent fusionner!
Tu a dc deux solutions, soit tu modifie ta table pour faire trois champs pour la date
soit tu créé une variable date que tu rentre ensuite dans la dase.
$date=$j_rub.'/'.$m_rub.'/'.$a_rub;
Mais tu ne pourra plus extraire que la variable entiere et dc si tu a des controles a faire dessus ou une utilisation pour un calcul...
1
newb
 
$_POST["m_rub"]."'-,'".$_POST["a_rub"]

enleve la virgule en gras
0
benoit
 
désolé ca c une erreur de frappe dans le forum qui ne se trouve pas dans le code. Ca ne marche pas :s
0
newb
 
l'idée de paddo est correcte et c'est celle que j'utilise aussi, mais pour ton probleme je crois que si tu entoure chaque variable avec des guilemets simple et que tu les concatènes, ca pose probleme car ce sont les guillemets simples qui delimite le debut et la fin d'un valeur a inserer.

donc au lieu de faire
'".$_POST["j_rub"]."'-'".$_POST["m_rub"]."'-'".$_POST["a_rub"]."
mets plutot
'".$_POST["j_rub"]."-".$_POST["m_rub"]."-".$_POST["a_rub"]."'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benoit
 
ok je te remercie j'essaye
0