Besoin d'aide en php

Fermé
bibi - 26 avril 2005 à 14:33
fras34 Messages postés 92 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 27 mai 2007 - 26 avril 2005 à 16:56
Bonjour j'ai toujours le meme probleme en fait

je veux creer deux liste déroulante (1 jour et 1 mois) et creer une zone de texte pour l'année.

Je veux ensuite mettre tout ceci dans mùon champs Nom_Date
(dans ma table j'ai : champs($Nom_Date => $nom_date))

Le code que j'ai est celui ci
if ($action == 'visualiser'){

echo "$ligne[6]";
}
else {
echo '<select name="jour" value="'.$i.'">';
for($i=1;$i<=31;$i++){
echo '<option >'.$i.'</option>';
}
echo'</select>';
echo'<select name="mois" value="'.$ligne[7].'"><option>Janvier</option><option>Fevrier</option><option>Mars</option><option>Avril</option><option>Mai</option><option>Juin</option><option>Juillet</option><option>Aout</option><option>Septembre</option><option>Octobre</option><option>Novembre</option><option>Decembre</option></select>';
echo'<INPUT type="text" Name="année" value="'.$ligne[6].'"></INPUT>';
if(isset($_POST['valider'])){
$nom_date=$_POST['jour']."/".$_POST['mois']."/".$_POST['année'];
}

Et j'ai une fonction qui permet d'inserer les valeurs de ma table
mais seulement cela ne marche pas, rien ne se met dans ma table
A voir également:

15 réponses

Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 14:40
tu px poster le code où il y a ta requête ?
0
voici le code qui genere ma requete

if ($action == 'ajouter' || ($action == 'visualiser' && $num_enr == '')){

if ($status == "ok"){

$requete = "INSERT INTO $objet set";

foreach($champs as $cle => $valeur ){
if(($cle==Nom_Primer && $objet==resultats_analyses)||($cle==Nom_Sequence && $objet==alignements)||($cle==Nom_Tissu && $objet==resultats_analyses)){
$prim = isset($_POST['prim']) ? $_POST['prim'] : '';

foreach($prim as $val)
{
$valeur.=" $val /";
} $VLAS .=", $cle='$valeur ' ";
}
else{
$VLAS .=", $cle ='$valeur' ";
}
}
$VLAS=substr( $VLAS, 1);
$requete .=$VLAS;
echo $requete;

(ce code marche pour tout le formulaire donc je ne pense pas que ce soit la qu'uil y est une erreur)
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 14:45
en effet ça a l'air d'être ok pour la requête. par contre il y a qq chose que je ne comprends pas ds ta page, car tu mets des select pour sélectionner la date, et la date tu la récupères avec la méthode $_POST. tu prends la quelle alors ???
0
ben justement je sais pas trop comment faire.

Si je peux ne pas utiliser les $_POST ca me va.
0

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

Posez votre question
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 15:06
ah d'accord, en fait c'est que tu appelles la même page lors de la validation du formulaire, c'est bien ça ?

d'ailleurs je ne vois pas la construction de ton formulaire dans ton code
comme :
<form action="opopop.php" method=POST> ...</form>

comme ça tu récup tes variables dans la page opopop.php avec $mois = $_POST['mois']; et si tes variables ne sont pas définies, tu rediriges sur la page d'avant, si elles sont définies tu exécutes ta requête.
0
alors la ya un bug je vois pas ta réponse j'ai que les deux premiers messages.....
0
Ben en fait c'est pour un site internet donc tout est fractionné, la construction du formulaire ce fait dans un autre fichier.

J'ai mon formulaire bidule qui contient la creation des liste déroulante,etc...

et j'ai un autre fichier fonction qui permet l'envoie de ces données dans la base.

Mon probleme est que je veux récuperer les 3 valeurs (jour pmois année) dans un seul champs de ma table bidule qui se nomme nom_date.
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 15:17
euh, je ne crois pas qu'en SQL tu ai le droit de mettre dans un champs date (d'ailleurs le type de ton champ est date ou varchar ?) une date avec "janvier" dedans. ce doit être du style '21/04/2005'
donc soit tu fais une correspondance dans une fonction pour janvier->01 ou bien tu mets directement dans ton select "01", "02",... au lieu de janvier févirer,...
0
ben je pense pas que ca influe parcke mon NOm_Date est de type varchar donc...

Mais surotut comment faire pour recuperer les trois valeurs dans mon champs Nom_Date
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 15:39
ben il faut que tu mettes
 if(isset($_POST['valider'])){
$nom_date=$_POST['jour']."/".$_POST['mois']."/".$_POST['année']; 

dans la page "opopop.php" dans l'exemple que je t'ai mis. mais il faut que tu crées ton formulaire dans la page où il y a les <select>

et pour les noms, evites de mettre des accents (comme pour "année" mets plutot "annee" même si c'est moins joli ;-)
0
Je viens de faire les modifications et j'ai toujurs rien dans ma table.

Si t'as une autre idée...sinon merci kan meme
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 15:51
est-ce que tu as bien rajouter les trucs soulignés dans ton code :
if ($action == 'visualiser'){

echo "$ligne[6]";
}
else {
echo "<form action=\"opopop.php\" method=POST>";
echo '<select name="jour" value="'.$i.'">';
for($i=1;$i<=31;$i++){
echo '<option >'.$i.'</option>';
}
echo'</select>';
echo'<select name="mois" value="'.$ligne[7].'"><option>Janvier</option><option>Fevrier</option><option>Mars</option><option>Avril</option><option>Mai</option><option>Juin</option><option>Juillet</option><option>Aout</option><option>Septembre</option><option>Octobre</option><option>Novembre</option><option>Decembre</option></select>';
echo'<INPUT type="text" Name="année" value="'.$ligne[6].'"></INPUT>';
echo "</form>";
} 

et il faut que tu mettes :
 if(isset($_POST['valider'])){
$nom_date=$_POST['jour']."/".$_POST['mois']."/".$_POST['année']; 

dans la page opopop.php
0
J'ai fait des echo et mon $date récupère bien les valeurs que je veux.

Ensuite dans ma fonction pour inserer les valeurs le $cle correspond bien a $Nom_Date mais il n'y a rien dans mon $valeur.
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
26 avril 2005 à 16:36
ta fonction pour insérer les valeurs est dans la même page où tu as afficher le $date ou dans une autre ?
0
fras34 Messages postés 92 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 27 mai 2007 36
26 avril 2005 à 16:56
Bonjour,

le mieux pour recuperer plusieurs variables de formualaire dans un champ SQL :
<select name="date[jour]"> ... </select>
<select name="date[mois]"> ... </select>
<select name="date[anne]"> ... </select>

tu recupère comme suit :
$mavar=implode('/',$_POST[date]);


NB: Je te deconseil de stoker des dates dans un BD autement qu'au format date ou datetime. Aucune utilité. pas de comparaison, classement, calculs possible
Je te conseil plutot de fromater ta date lors de la requete select avec
DATE_FORMAT(date,format) , ou en php avec strftime()

Voir le manuel php : http://fr.php.net/manual/fr/function.strftime.php
La doc Mysql : http://dev.mysql.com/doc/mysql/fr/date-and-time-functions.html
0