Bonjour à tous
Voici mon problème , j'ai crée un seul est unique formulaire pour plusieur table qu'on choisis sur une liste déroulante
voici le code du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <?php /********************************************************** Selection de la table via un menu déroulant *********************************************************/ $sql = "SHOW TABLES FROM repair"; $result = mysql_query($sql); if (!$result) { echo "Erreur DB, impossible de lister les tables\n"; echo 'Erreur MySQL : ' . mysql_error(); exit; } ?> <form method="post" action= "maj.php"> <select name="choix";> <?php while ($row = mysql_fetch_row($result)) { echo '<option value="' .$row[0] .'" name="table">'.$row[0] . '</option>'; } mysql_free_result($result); echo '<br><br><br>'; ?> </select> <td><input type="submit" name="valider" value="valider"></td> </form> <br> <?php if (isset ($_POST["valider"])) { $choix = $_POST['choix']; $_SESSION['choix']=$choix; ?> <fieldset><legend>Formulaire ajout</legend> <form name="loadByForm" method="post" action="<?php echo $_SERVER['PHP_SELF']?>"> <table id="textleft"> <?php $req="SHOW COLUMNS FROM $choix"; $result2 = mysql_query($req);$valeur=0;$i=0; while ($row2 = mysql_fetch_row($result2)) { $i++; ?> <td id="titrerow"><?php echo "$row2[0]" ?> </td> <td id="modif"><input type="text" size="15" name= <?php "$valeur[$i]" ?> value="<?php echo "$row2[0]";?>"> </td> <tr><?php }?> <td></td><td colspan="2"><input type="reset" name="btnRstForm" value="effacer"></td> <td><input type="submit" name="btnLoadByForm" value="enregistrer"></td> </tr></table> </form> </fieldset> <?php
Et je veux récupérer les valeur pour les insérer dans la base de donnée avec un INSERT INTO
Voici le code ;
cela me donne : insert into cartes values ("varchar(50)")"YES")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php /********************************************************** Insertion d'une carte dans la base de données *********************************************************/ echo"<h3>Insertion dans la base de données</h3>"; if (isset ($_POST["btnLoadByForm"])) {// page appelée par le formulaire "loadByForm" extract($_POST); $choix=$_SESSION['choix'];$req="SHOW COLUMNS FROM $choix"; $result2 = mysql_query($req); // Test si la pièce a déja été enregistrée dans la base de données $req = "SELECT '$valeur[0]' FROM $choix WHERE $choix.nom='$valeur[0]'"; $result = mysql_query($req) or die ("Accès à la liste des pièces impossible".mysql_error()); if (mysql_num_rows($result) != 0) //pièce déjà enregistrée echo "<p id='warning'>La pièce a déjà été enregistrée dans la base de données !!</p>"; else { // Nouvelle pièce => enregistrement $sql = "insert into ".$choix." values("; while ($valeur = mysql_fetch_array($result2)) { $i++; echo $valeur[$i]; $sql .= '"'.$valeur[$i].'")'; echo $sql; $result = mysql_query($sql) or die ("Accès à la base de données impossible".mysql_error()); echo"<p id='ok'>Les données ont été enregistrées avec succès!!</p>"; } } } ?>
Le problème c'est que j'arrive pas à récupérer les valeurs dans le formulaire
Le formulaire de la table cartes est sous la forme : voir PJ
Merci à tous
Partager