Enregistrement des données

Fermé
MS2I Messages postés 53 Date d'inscription mardi 26 mars 2013 Statut Membre Dernière intervention 5 juillet 2013 - 29 mars 2013 à 09:45
MS2I Messages postés 53 Date d'inscription mardi 26 mars 2013 Statut Membre Dernière intervention 5 juillet 2013 - 29 mars 2013 à 09:59
Bonjour,
Dans mon code j'ai des valeurs à rentrer , je rentre les valeurs mais le serveur ne les enregistres pas dans la bases de données je sais pas ou se trouve l'erreur , quelqu'un peut m'aider ,
voilà le code :
<html>
<head>
<title>ESPACE PRIVE </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
<!-- j'avait fait deux c...ies ci dessous une dans <script... et l'autre dans if(champ_annee.-->
<script type="text/javascript" >
//fonction qui permet de verifier que l'année a bien été sélectionnée
function verif_champs(){
var champ_annee = document.getElementById('annee');
if(champ_annee.value ==""){
alert("Vous devez choisir une année");
return false; //empeche l'envoi du formulaire
}
}
</script>
<style type="text/css">
.input_mois {
background-color:#A9AEAD;
text-align:center;
}

</style>
</head>
<body>
<p align="center" class="titre"><strong>- : : : Les paramètres du bases : : : -</strong></p>
<br>
<?php
//initialisation de l'array des mois
$array_list_mois=array("1"=>"Janvier","2"=>"Février","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet","8"=>"Aout","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Décembre");

//On verifie que le formulaire a été envoye
if(isset( $_POST['envoi']))
{
//connexion BDD, il suffit de le faire à ce moment là
require_once('dbconnect.php');
//recup des valeurs postées
$annee = $_POST['annee'];
$arrayMois = $_POST['Mois'];
$arrayP1 = $_POST['P1'];
$arrayP2 = $_POST['P2'];
//il faut faire autant de requette INSERT que de lignes remplies
//on parcours l'array $arrayMois
foreach($arrayMois as $mois=>$value){
//$mois = l'index qui va aussi servir dans les autres array
// ex: P1[5] contient la valeur saisie dasn P1 du mois 5
if(!empty($arrayP1[$mois]) && !empty($arrayP2[$mois] )){
//si les deux champs P1 et P2 ont été remplis pour le mois considéré on enregistre dans la BDD
//ta table se nomme parmetres ou parametres ??

$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$mois.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//si tu veux enregistrer le nom du mois au lieu du numéro remplaces $sql par:
//$sql='INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("'.$annee.'", "'.$value.'", "'.$arrayP1[$mois].'","'.$arrayP1[$mois].'")';
//echo "<br />".$sql;
$requete = $db->query($sql) ;
}

}

}

?>
<!-- ci dessous avec onsubmit="return verif_champs();" on vrifie en javascript que l'année a bien été sélectionnée, sinon le formulaire ne part pas -->
<form action="parametre.php" method="post" name="formulaire" onsubmit="return verif_champs();" >
<table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
<tr><th>Année</th><th>Mois</th><th>P1</th><th>P2</th></tr>
<?php
//on va faire une boucle pour afficher tous les mois d'un coup
//et pour l'année dans la première colonne sur une seule ligne grace au rowspan="12"
for($n=1;$n<=12;$n++){
echo '<tr>';
//première colonne (année)

if($n==1){
//si première ligne on met la liste déroulante année dans la colonne 1
echo '<td rowspan="12">'; //colonne qui fait les 12 lignes
$annee=date("Y");
echo '<select name="annee" id="annee" >';
echo '<option value="">Choisir une année...</option>';

for($i=2010;$i<=$annee ;$i++){
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select>';
echo '</td>';
}
//suite des colonnes
echo '<td>';
//ci dessous en metant name= sous la forme xxxxx[] on va recevoir les valeurs des input dans un array $_POST['xxxx']
//le mois est déja rempli, on met readonly =>il ne peut pas être modifié,
// si pas de valeur pour le mois P1 P2 les champs seront laissés vides, donc pas d'enr dans la BDD pour le mois
echo '<input type="text" name="Mois['.$n.']" value="'.$array_list_mois[$n].'" class="input_mois" readonly />';
echo '</td>';
echo '<td>'; //colonne P1
echo '<input type="text" name="P1['.$n.']" value="" />';
echo '</td>';
echo '<td>'; //colonne P2
echo '<input type="text" name="P2['.$n.']" value="" />';
echo '</td>';
echo '</tr>';
}
?>
<tr>
<td height="50" colspan="4" align="center">
<input type="submit" name="envoi" value="Envoyer">
</td>
</tr>
</table>
</form>

<div class="foot"><a href="accueil.php">Retour à l'accueil</a></div>

</body>
</html>
A voir également:

3 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
29 mars 2013 à 09:50
Commence par afficher ta requête SQL pour voir si elle est correcte
0
MS2I Messages postés 53 Date d'inscription mardi 26 mars 2013 Statut Membre Dernière intervention 5 juillet 2013
29 mars 2013 à 09:56
je faisais echo $sql et il m'a afficher ça
INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "1", "1","1")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "2", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "3", "2","2")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "4", "3","3")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "5", "4","4")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "6", "5","5")INSERT INTO parametres( annee, Mois, P1,P2 ) VALUES ("2002", "7", "7","7")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "8", "8","8")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "9", "9","9")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "10", "10","10")INSERT INTO parametres( annee, Mois, P1, P2 ) VALUES ("2002", "11", "11","11")INSERT INTO parametres( annee, Mois, P1, P2) VALUES ("2002", "12", "12","12")
alors pourquoi il l'enregistre pas dans la base de données
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
29 mars 2013 à 09:57
bonne question, tu as phpmyadmin ? essaye de mettre ta requête dedans pour voir si elle passe
0
MS2I Messages postés 53 Date d'inscription mardi 26 mars 2013 Statut Membre Dernière intervention 5 juillet 2013
29 mars 2013 à 09:59
c'est bon ça marche j'ai trouvé l'erreur , bonne journée
0