Php/mysql: données ne sont pas inseres dans

Fermé
tonguim - 26 juin 2007 à 13:09
 tonguim - 26 juin 2007 à 19:44
Bonjour,

les données saisies dans mon formulaires ne sont pas stockées dans ma table. Quelle en est la raison? La connexion au serveur mysql et à la base de données s'effectuent avec succès. Le problème se situe au niveau de l'insertion des données dans la table. Merci. Voici le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>

<body>                                                                                            
<form method="post" name="form1" class="Style1" id="form1" action="">
  <table border="0" align="center" cellpadding="15" cellspacing="0">
    <tr>
      <td colspan="2"><div align="center" class="Style3">Marchés   </div></td>
    </tr>
    <tr>
      <td><table border="1" cellspacing="0" cellpadding="7">
	     <tr>
          <td colspan="2"><div align="center" class="Style2"></div></td>
         </tr>
        <tr>
        <tr>
          <td>Numéro:</td>
          <td><input name="txt_num" type="text" id="txt_num" size="7" maxlength="7" /></td>
        </tr>
        <tr>
          <td>Montant HT :</td>
          <td><input name="txt_mt_ht" type="text" id="txt_mt_ht" size="15" /></td>
        </tr>               
        <tr>
          <td>Monant TTC: </td>
          <td><input name="txt_mt_ttc" type="text" id="txt_mt_ttc" size="15" /></td>
        </tr>
        <tr>
          <td>Maître d'ouvrage:</td>
          <td><input name="txt_mait_ouv" type="text" id="txt_mait_ouv" size="50" /></td>
        </tr>
        <tr>
          <td>Maître d'oeuvre: </td>
          <td><input name="txt_mait_oeuv" type="text" id="txt_mait_oeuv" size="50" /></td>
        </tr>
        <tr>
          <td>Entreprise exécutante:</td>
          <td><input name="txt_entr_exe" type="text" id="txt_entr_exe" size="50" /></td>
        </tr>
        <tr>
          <td>Nombre d'entreprise sous traitantes :</td>
          <td><input name="txt_nbre_entre_sous" type="text" id="txt_nbre_entre_sous" size="15" /></td>
        </tr>
        <tr>
          <td>Bureau d'étude: </td>
          <td><input name="txt_bur_etude" type="text" id="txt_bur_etude" size="50" /></td>
        </tr>
        <tr>
          <td>Bureau de contrôle: </td>
          <td><input name="txt_bur_control" type="text" id="txt_bur_control" size="50" /></td>
        </tr>
        
      </table></td>
      <td><table border="1" cellpadding="7" cellspacing="0">
	  <tr>
          <td colspan="2" class="Style2"><div align="center">Phase d'étude </div></td>
          </tr>
        <tr>
          <td>Date AO: </td>
          <td><input name="txt_date_ao" type="text" id="txt_date_ao" size="15" /></td>
        </tr>
        <tr>
          <td>Type AO: </td>
          <td><input name="txt_type_ao" type="text" id="txt_type_ao" size="50" /></td>
        </tr>
        <tr>
          <td>Délai de dépôt des AO: </td>
          <td><input name="txt_delai_dep_ao" type="text" id="txt_delai_dep_ao" size="15" /></td>
        </tr>
        <tr>
          <td>Nombre d'entreprises ayant répondu à l'AO: </td>
          <td><input name="txt_delai_nbre_entrep_ao" type="text" id="txt_delai_nbre_entrep_ao" size="15" /></td>
        </tr>
        <tr>
          <td>Date de signature du marché: </td>
          <td><input name="txt_date_sign_marche" type="text" id="txt_date_sign_marche" size="15" /></td>
        </tr>
        <tr>
          <td>Date de démarrage de l'étude: </td>
          <td><input name="txt_date_dem_etud" type="text" id="txt_date_dem_etud" size="15" /></td>
        </tr>
        <tr>
          <td>Délai AO - démarrage de l'étude: </td>
          <td><input name="txt_delai_ao_dem_etud" type="text" id="txt_delai_ao_dem_etud" size="15" /></td>
        </tr>
        <tr>
          <td>Date de fin de l'étude: </td>
          <td><input name="txt_date_fin_etud" type="text" id="txt_date_fin_etud" size="15" /></td>
        </tr>
        <tr>
          <td>Durée de l'étude:</td>
          <td><input name="txt_duree_etud" type="text" id="txt_duree_etud" size="15" /></td>
        </tr>
        
      </table></td>
    </tr>
    <tr>
      <td colspan="2"><table border="1" align="center" cellpadding="7" cellspacing="0">
        <tr>
          <td colspan="4" class="Style2"><div align="center">Phase d'exécution </div></td>
          </tr>
        <tr>
          <td>Délai AO-signature marché: </td>
          <td><input name="txt_delai_ao_sign_march" type="text" id="txt_delai_ao_sign_march" size="15" /></td>
          <td>Date d'achèvement des travaux: </td>
          <td><input name="txt_date_achv_trav" type="text" id="txt_date_achv_trav" size="15" /></td>
        </tr>
        <tr>
          <td>Date d'OS pour travaux: </td>
          <td><input name="txt_date_os_trav" type="text" id="txt_date_os_trav" size="15" /></td>
          <td>Ecart dates contractuelle et effective de fin des travaux: </td>
          <td><input name="txt_ecart_dates_contr_eff_trav" type="text" id="txt_ecart_dates_contr_eff_trav" size="15" /></td>
        </tr>
        <tr>
          <td>Délai signature marché-OS: </td>
          <td><input name="txt_delai_sign_march_os" type="text" id="txt_delai_sign_march_os" size="15" /></td>
          <td>Date de réception partielle éventuelle: </td>
          <td><input name="txt_date_recep_partiel" type="text" id="txt_date_recep_partiel" size="15" /></td>
        </tr>
        <tr>
          <td>Date contractuelle de démarrage: </td>
          <td><input name="txt_date_contr_dem" type="text" id="txt_date_contr_dem" size="15" /></td>
          <td>Date de réception provisoire: </td>
          <td><input name="txt_date_recep_prov" type="text" id="txt_date_recep_prov" size="15" /></td>
        </tr>		
        <tr>
          <td>Date effective de démarrage: </td>
          <td><input name="txt_date_eff_dem" type="text" id="txt_date_eff_dem" size="15" /></td>
          <td>Date de mise à disposition éventuelle: </td>
          <td><input name="txt_date_mis_disp_event" type="text" id="txt_date_mis_disp_event" size="15" /></td>
        </tr>
        <tr>
          <td>Ecart dates contractuelle et effective de démarrage </td>
          <td><input name="txt_ecart_dates_contr_eff_dem" type="text" id="txt_ecart_dates_contr_eff_dem" size="15" /></td>
          <td>Date de pré réception: </td>
          <td><input name="txt_date_pre_recep" type="text" id="txt_date_pre_recep" size="15" /></td>
        </tr>
        <tr>
          <td>Date contractuelle de fin: </td>
          <td><input name="txt_date_contr_fin" type="text" id="txt_date_contr_fin" size="15" /></td>
          <td>Nombre de réserves émises: </td>
          <td><input name="txt_nbre_reserv_emis" type="text" id="txt_nbre_reserv_emis" size="15" /></td>
        </tr>
        <tr>
          <td>Date fin prévisionnelle pour travaux: </td>
          <td><input name="txt_date_fin_prev_trav" type="text" id="txt_date_fin_prev_trav" size="15" /></td>
          <td>Date de réception définitive:</td>
          <td><input name="txt_date_recep_def" type="text" id="txt_date_recep_def" size="15" /></td>
        </tr>
        <tr>
          <td>Ecart dates contractuelle et prévisionnelle de fin des travaux:</td>
          <td><input name="txt_ecart_dates_contr_prev_fin_trav" type="text" id="txt_ecart_dates_contr_prev_fin_trav" size="15" /></td>
          <td>Délai entre la pré réception et la réception définitive:</td>
          <td><input name="txt_delai_pre_recep_def" type="text" id="txt_delai_pre_recep_def" size="15" /></td>
        </tr>
        <tr>
          <td colspan="2"> </td>
          <td>Durée totale d'éxécution des travaux: </td>
          <td><input name="txt_duree_total_trav" type="text" id="txt_duree_total_trav" size="15" /></td>
        </tr>
        
        
      </table></td>
    </tr>
    <tr>
      <td colspan="2"><div align="center">
        <input name="button" type="submit" id="button" value="Quitter" />
        <input name="reset" type="reset" id="reset" value="Effacer" />
        <input name="Submit" type="submit" id="Submit" value="Envoyer" />
      </div></td>
    </tr>
  </table>
</form>
<?php

	include "connexion.php";
	
	$php_num=$_POST['txt_num'];
	$php_mt_ht=$_POST['txt_mt_ht'];
	$php_mt_ttc=$_POST['txt_mt_ttc'];
	$php_mait_ouv=$_POST['txt_mait_ouv'];
	$php_mait_oeuv=$_POST['txt_mait_oeuv'];
	$php_entr_exe=$_POST['txt_entr_exe'];
	$php_nbre_entre_sous=$_POST['txt_nbre_entre_sous'];
	$php_bur_etude=$_POST['txt_bur_etude'];
	$php_bur_control=$_POST['txt_bur_control'];

	$php_date_ao=$_POST['txt_date_ao'];
	$php_type_ao=$_POST['txt_type_ao'];
	$php_delai_dep_ao=$_POST['txt_delai_dep_ao'];
	$php_delai_nbre_entrep_ao=$_POST['txt_delai_nbre_entrep_ao'];
	$php_date_sign_marche=$_POST['txt_date_sign_marche'];
	$php_date_dem_etud=$_POST['txt_date_dem_etud'];
	$php_delai_ao_dem_etud=$_POST['txt_delai_ao_dem_etud'];
	$php_date_fin_etud=$_POST['txt_date_fin_etud'];
	$php_duree_etud=$_POST['txt_duree_etud'];

	$php_delai_ao_sign_march=$_POST['txt_delai_ao_sign_march'];
	$php_date_achv_trav=$_POST['txt_date_achv_trav'];
	$php_date_os_trav=$_POST['txt_date_os_trav'];
	$php_ecart_dates_contr_eff_trav=$_POST['txt_ecart_dates_contr_eff_trav'];
	$php_delai_sign_march_os=$_POST['txt_delai_sign_march_os'];
	$php_date_recep_partiel=$_POST['txt_date_recep_partiel'];
	$php_date_recep_prov=$_POST['txt_date_recep_prov'];	
	$php_date_contr_dem=$_POST['txt_date_contr_dem'];
	$php_date_mis_disp_event=$_POST['txt_date_mis_disp_event'];
	$php_date_eff_dem=$_POST['txt_date_eff_dem'];
	$php_date_pre_recep=$_POST['txt_date_pre_recep'];
	$php_ecart_dates_contr_eff_dem=$_POST['txt_ecart_dates_contr_eff_dem'];
	$php_nbre_reserv_emis=$_POST['txt_nbre_reserv_emis'];
	$php_date_contr_fin=$_POST['txt_date_contr_fin'];
	$php_date_recep_def=$_POST['txt_date_recep_def'];
	$php_date_fin_prev_trav=$_POST['txt_date_fin_prev_trav'];
	$php_delai_pre_recep_def=$_POST['txt_delai_pre_recep_def'];
	$php_ecart_dates_contr_prev_fin_trav=$_POST['txt_ecart_dates_contr_prev_fin_trav'];
	$php_duree_total_trav=$_POST['txt_duree_total_trav'];
	
	
	$requete="insert into marche (delai_depot_offres, reponses_ao, date_signature_march, date_demarrage_etude, delai_ao_demarr_etude, date_fin_etude, duree_etude, phase_execution, delai_ao_sign_marche, date_os_trav, delai_signature_march_os, date_contract_demarr, date_eff_demarr, ecart_dates_contr_eff_dem, ecart_dates_contr_prev_fin, date_contract_fin, date_fin_previsionnel, date_achevement, ecart_dates_contr_eff_fin, date_reception_partiel, date_reception_prov, date_mise_a_dispo, date_pre_reception, nombre_reserves_emises, date_reception_def, delai_pre_recep_def, duree_totale_trav, numero_marche, montant_ht, montant_ttc, maitre_ouv, maitre_oeuvr, executant, sous_traitant, bureau_etude, bureau_controle, date_ao, type_ao, code_agem, attributaire, beneficiaire, nom_sous_traitant, critere_choix_fourn, date_eff_fin, ecart_dates_contr_fin, date_pv, duree_totale_contrat, designation, unite_eval, quantite_prevue, quantite_livree, date, observations, q_restante, q_restante_pourc, avanc_projet) values ('$php_delai_dep_ao', '$php_delai_nbre_entrep_ao','$php_date_sign_marche','$php_date_dem_etud','$php_delai_ao_dem_etud','$php_date_fin_etud','$php_duree_etud','','$php_delai_ao_sign_march','$php_date_os_trav','$php_delai_sign_march_os','$php_date_contr_dem','$php_date_eff_dem','$php_ecart_dates_contr_eff_trav','$php_ecart_dates_contr_prev_fin_trav','$php_date_contr_fin','$php_date_fin_prev_trav','$php_date_achv_trav','','$php_date_recep_partiel','$php_date_recep_prov','$php_date_mis_disp_event','$php_date_pre_recep','$php_nbre_reserv_emis','$php_date_recep_def','$php_delai_pre_recep_def','$php_duree_total_trav','$php_num','$php_mt_ht','$php_mt_ttc','$php_mait_ouv','$php_mait_oeuv','$php_entr_exe','$php_nbre_entre_sous','$php_bur_etude','$php_bur_control','$php_date_ao','$php_type_ao','$code_agem','','','','','','','','','','','','','','','','')";
	
	mysql_query($requete);
?>
</body>
</html>

5 réponses

s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
26 juin 2007 à 13:40
Salut,

C'est normal, dans ta balise form du formulaire tu n'as pas rempli le paramettre action, tu dois mettre le chemin (en général relatif) de la page qui va traiter les données, ca peut être la même que la page dans laquelle se trouve le formulaire.

<form method="post" name="form1" class="Style1" id="form1" action="index.php">


Je te conseil de conditionner la requête pour qu'elle ne soit exécuté uniquement si tout les champs du formulaire on été rempli (if (!empty($php_num) AND !empty($php_mt_ht) AND etc )et d'ajouter après la requête (dans la condition) :

echo "<p><strong>Le formulaire à été soumis avec succès</strong></p>";
0
Bonjour s.spark. A mon avis, le problème ne vient pas du fait que je n'ai pas précisé un chemin à l'attribut action de la balise form. Lorsqu'aucun chemin n'est précisé, c'est la page courante qui est rappelée.

J'ai rajouté cette ligne
mysql_query($requete) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
, et cela m'a donné l'erreur suivante:

MySQL said: #1136 - Column count doesn't match value count at row 1


Lorsque j'exécute la requête avec phpmyadmin, j'obtiens la même erreur mysql.
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
26 juin 2007 à 16:57
et bien tu as ta réponse .
Tant que sql te renvoie une erreur lors d'un test de requete, c'est que cette requete n'est pas bonne, ^_^ donc ca ne sert a rien de chercher plus loin ...
0
Si j'avais la réponse à ma question ou la solution à mon problème, je n'aurais pas posté ici, ni inpportuné les gens!
0
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398 > tonguim
26 juin 2007 à 19:12
À moins que je ne compte mal,

j'ai compté 56 champs dans ton insert, et 55 valeurs insérées. Il te manquerais donc une valeur à insérer.

D'ou le message d'erreur "Column count doesn't match value count"
0
s.spark Messages postés 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
26 juin 2007 à 19:36
En supposent que tu as un champs id avec en autoincrement (on va dire que c'est le 1er champs, tu dois mettre

$requete="insert into marche ('', delai_depot_offres, etc ...


Mains ce n'est qu'une supposition :)

EDIT : c'est n'importe quoi commentcamarche.net depuis quelque jour.
0

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

Posez votre question
Merci à tous pour vos réponses. En fait Doctor C a raison: le nombre de champs de la table est différent du nombre de valeurs à insérer; j'ai donc rajouté la valeur manquante au niveau des valeurs insérées: il n'ya plus d'erreur. Merci
0