Base de donnees et champs d saisies
RésoluLebeauPain -
Bonsoir, mon problème est le suivant:
En suivant l'actualité sur ce forum, j'ai pu ainsi mettre au point ( côté client) une liste de noms d produits( provenant de ma base de données) auxquels je voudrais associer un prix. Maintenant je bute sur comment sauvegarder la saisie dans ma base de données.
Merci d'avance pour les efforts consentis
<table class="table table-light> <thead> <tr> <tr>N°</th> <tr>NOMS</th> <tr>PRIX</th> </tr> </thead> </table> <tbody> <?php inclure_once "connect.php"; $req = mysqli_num_query($connexion, "SELECT * FROM relever"); if(mysqli_num_rows($req)==0){ echo " pas de listes ajoutées"; }else{ while($row=mysqli_fetch_assoc($req)){ ?> <tr> <td><?=$row['id']?</td> <td><?=$row['noms']?</td> <td><input type ="number" value=" <?=$row['prix']?>"</td> </tr> <?php } } } ?> </tbody>
Android / Chrome 103.0.0.0
- Base de donnees et champs d saisies
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Tnt base de données vide - Forum TV & Vidéo
10 réponses
Bonjour,
Tu dois désormais t'intéresser aux formulaires ( pour l'envoi des données vers un script php ) puis aux requêtes sql de type INSERT pour l'insertion des données du formulaire en base de données.
Effectivement mais un début d piste me serai d'une grande aide ( un bout d code) ou un exemple qui serai en phase avec mon script
Voila..
PS.. j'en ai profité pour corriger un certain nombre d'erreurs dans ton code...
<?php //placer le maximum de code PHP .. en dehors du html rendra tes codes plus propres.. plus faciles à maintenir .. // donc : require_once "connect.php"; $req = mysqli_query($connexion, "SELECT * FROM relever"); $nbRows = mysqli_num_rows($req); //traitement du formulaire if(isset($_POST['valider'])){ $arrayPrix = !empty($_POST['prix']) ? $_POST['prix'] : NULL; if($arrayPrix){ foreach($arrayPrix as $id=>$prix){ //ici.. traitement des données.. insert en bdd ou, par exemple, juste afficher les données : echo "id:" . $id . " -> prix : " . $prix . "<br>"; } } else{ //juste le temps des tests si rien ne s'affiche dans la boucle précédente var_dump($_POST); } } ?> <form name="monForm" action="" method="post"> <table class="table table-light"> <thead> <tr> <tr>N°</th> <tr>NOMS</th> <tr>PRIX</th> </tr> </thead> <tbody> <?php if($nbRows==0){ echo " pas de listes ajoutées"; } else { while($row=mysqli_fetch_assoc($req)){ ?> <tr> <td> <?=$row['id']?> </td> <td> <?=$row['noms']?> </td> <td> <input type ="number" name="prix['<?php echo $row['id'];?>']" value=" <?php echo $row['prix'];?>"> </td> </tr> <?php } } ?> </tbody> </table> <input type="submit" name="valider" /> </form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php //placer le maximum de code PHP .. en dehors du html rendra tes codes plus propres.. plus faciles à maintenir .. // donc : require_once "connect.php"; $req = mysqli_query($connexion, "SELECT * FROM relever"); $nbRows = mysqli_num_rows($req); //traitement du formulaire if(isset($_POST['valider'])){ $arrayPrix = !empty($_POST['prix']) ? $_POST['prix'] : NULL; if($arrayPrix){ foreach($arrayPrix as $id=>$prix){ //ici.. traitement des données.. insert en bdd ou, par exemple, juste afficher les données : $ajouter = "INSERT INTO nomTable (id, prix) VALUES ($id,$prix)"; mysql_query($connexion, $ajouter); // echo "id:" . $id . " -> prix : " . $prix . "<br>"; } } else{ //juste le temps des tests si rien ne s'affiche dans la boucle précédente var_dump($_POST); } } ?> <form name="monForm" action="" method="post"> <table class="table table-light"> <thead> <tr> <tr>N°</th> <tr>NOMS</th> <tr>PRIX</th> </tr> </thead> <tbody> <?php if($nbRows==0){ echo " pas de listes ajoutées"; } else { while($row=mysqli_fetch_assoc($req)){ ?> <tr> <td> <?=$row['id']?> </td> <td> <?=$row['noms']?> </td> <td> <input type ="number" name="prix['<?php echo $row['id'];?>']" value=" <?php echo $row['prix'];?>"> </td> </tr> <?php } } ?> </tbody> </table> <input type="submit" name="valider" /> </form> .
Bonjour à tous. J45 j'ai essayé d suivre aveuglement la procédure mais je reste coincé.
array(75){["prix_1"]=> string(2)"valeur1 du prix"["prix_2"]=> string(2)"valeur2 du prix" etc... }
voici le code source:
array(26) { ["prix_'1"]=> string(2) "11" ["prix_'2"]=> string(2) "12" ["prix_'3"]=> string(2) "13" ["prix_'4"]=> string(1) "6" ["prix_'5"]=> string(1) "8" ["prix_'6"]=> string(1) "6" ["prix_'7"]=> string(1) "0" ["prix_'8"]=> string(1) "0" ["prix_'9"]=> string(1) "0" ["prix_'10"]=> string(1) "0" ["prix_'11"]=> string(1) "0" ["prix_'12"]=> string(1) "0" ["prix_'13"]=> string(1) "0" ["prix_'14"]=> string(1) "0" ["prix_'15"]=> string(1) "0" ["prix_'16"]=> string(1) "0" ["prix_'17"]=> string(1) "0" ["prix_'18"]=> string(1) "0" ["prix_'19"]=> string(1) "0" ["prix_'20"]=> string(1) "0" ["prix_'21"]=> string(1) "0" ["prix_'22"]=> string(1) "0" ["prix_'23"]=> string(1) "0" ["prix_'24"]=> string(1) "0" ["prix_'25"]=> string(1) "0" ["valider"]=> string(4) "Envoyer" } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="Bootstrap.css/bootstrap.css"> <title>Lycee Bac Aviation</title> <style type=""> input{ margin: .4rem 0; } </style> </head> <body> <div class="container mt-4"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3 align="center">PRODUITS & COUTS</h3> </div> <div class="card-body"> </div> <div class="card-body"> <div class="container"> <form name ="" action="#" method="POST"> <table class="table table-light"> <thead> <tr> <th>Nº</th> <th>NOMS</th> <th>PRIX</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>produit1</td> <td><input type="number" name="prix['1" value = "0"></td> </tr> <tr> <td>2</td> <td>produit2/td> <td><input type="number" name="prix['2" value = "0"></td> </tr> <tr> <td>3</td> <td>produit3</td> <td><input type="number" name="prix['3" value = "0"></td> </tr> <tr> <td>4</td> <td>produit4</td> <td><input type="number" name="prix['4" value = "0"></td> </tr> <tr> <td>5</td> <td>produit5</td> <td><input type="number" name="prix['5" value = "0"></td> </tr> <tr> <td>6</td> <td>produit6</td> <td><input type="number" name="prix['6" value = "0"></td> </tr> <tr> <td>7</td> <td>produit7</td> <td><input type="number" name="prix['7" value = "0"></td> </tr> <tr> <td>8</td> <td> produit8</td> <td><input type="number" name="prix['8" value = "0"></td> </tr> <tr> <td>9</td> <td>produit9</td> <td><input type="number" name="prix['9" value = "0"></td> </tr> <tr> <td>10</td> <td>produit10/td> <td><input type="number" name="prix['10" value = "0"></td> </tr> <tr> <td>11</td> <td>produit11 </td> <td><input type="number" name="prix['11" value = "0"></td> </tr> <tr> <td>12</td> <td>produit12td> <td><input type="number" name="prix['12" value = "0"></td> </tr> <tr> <td>13</td> <td>produit13</td> <td><input type="number" name="prix['13" value = "0"></td> </tr> <tr> <td>14</td> <td>produit14</td> <td><input type="number" name="prix['14" value = "0"></td> </tr> <tr> <td>15</td> <td>produit15</td> <td><input type="number" name="prix['15" value = "0"></td> </tr> <tr> <td>16</td> <td>produit16</td> <td><input type="number" name="prix['16" value = "0"></td> </tr> <tr> <td>17</td> <td>produit17</td> <td><input type="number" name="prix['17" value = "0"></td> </tr> <tr> <td>18</td> <td>produit18</td> <td><input type="number" name="prix['18" value = "0"></td> </tr> <tr> <td>19</td> <td>produit19</td> <td><input type="number" name="prix['19" value = "0"></td> </tr> <tr> <td>20</td> <td>produit20</td> <td><input type="number" name="prix['20" value = "0"></td> </tr> <tr> <td>21</td> <td>produit21</td> <td><input type="number" name="prix['21" value = "0"></td> </tr> <tr> <td>22</td> <td>produit22</td> <td><input type="number" name="prix['22" value = "0"></td> </tr> <tr> <td>23</td> <td>produit23</td> <td><input type="number" name="prix['23" value = "0"></td> </tr> <tr> <td>24</td> <td>produit24</td> <td><input type="number" name="prix['24" value = "0"></td> </tr> <tr> <td>25</td> <td>produit25</td> <td><input type="number" name="prix['25" value = "0"></td> </tr> </tbody> </table> <input type="submit" name="valider" /> </form> </div> </div> </div> </div> </div> </div> </div> </body> </html>
C'est bizarre .. je ne sais pas si c'est un bug d'affichage du forum .. mais il semble que ton attribut "name" de tes input soit mal écrit
<td><input type="number" name="prix['25" value = "0"></td>
il devrait être de la forme
<td><input type="number" name="prix[25]" value="0"></td>
Essaye de modifier le code comme ceci:
while($row=mysqli_fetch_assoc($req)){ $id = $row['id']; $prix = $row['prix']; $nom = $row['noms']; ?> <tr> <td> <?=$id?> </td> <td> <?=$nom?> </td> <td> <input type ="number" name="prix[<?php echo $id;?>]" value="<?php echo $prix;?>"> </td> </tr> <?php }
Bonsoir. Merci pour les rectifications apportées, il n'y a plus d'erreur mais par contre pas d'insertion dans ma table.
Quand j'appuie sur envoyer, les valeurs passent à zéro...
bonjour. désolé du retard...
voila ce que ça donne:
id : '1'-> prix : 17<br>id : '2'-> prix : 11<br>id : '3'-> prix : 19<br>id : '4'-> prix : 29<br>id : '5'-> prix : 8<br>id : '6'-> prix : 18<br>id : '7'-> prix : 19<br>id : '8'-> prix : 7<br>id : '9'-> prix : 6<br>id : '10'-> prix : 14<br>id : '11'-> prix : 7<br>id : '12'-> prix : 13<br>id : '13'-> prix : 1<br>id : '14'-> prix : 17<br>id : '15'-> prix : 9<br>id : '16'-> prix : 7<br>id : '17'-> prix : 6<br>id : '18'-> prix : 5<br>id : '19'-> prix : 7<br>id : '20'-> prix : 6<br>id : '21'-> prix : 2<br>id : '22'-> prix : 13<br>id : '23'-> prix : 11<br>id : '24'-> prix : 10<br>id : '25'-> prix : 7<br> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="Bootstrap.css/bootstrap.css"> <title>#</title> <style type=""> input{ margin: .4rem 0; } </style> </head> <body> <div class="container mt-4"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3 align="center">PRODUITS & COUTS </h3> </div> <div class="card-body"> </div> <div class="card-body"> <div class="container"> <form name ="" action="#" method="POST"> <table class="table table-light"> <thead> <tr> <th>Nº</th> <th>NOM(S)</th> <th>PRIX</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Prduit1</td> <td><input type="number" name="prix['1']" value = "0"></td> </tr> <tr> <td>2</td> <td>Produit2</td> <td><input type="number" name="prix['2']" value = "0"></td> </tr> <tr> <td>3</td> <td>Produit3</td> <td><input type="number" name="prix['3']" value = "0"></td> </tr> <tr> <td>4</td> <td>Produit4</td> <td><input type="number" name="prix['4']" value = "0"></td> </tr> <tr> <td>5</td> <td>Produit5</td> <td><input type="number" name="prix['5']" value = "0"></td> </tr> <tr> <td>6</td> <td>Produit6</td> <td><input type="number" name="prix['6']" value = "0"></td> </tr> <tr> <td>7</td> <td>Produit7</td> <td><input type="number" name="prix['7']" value = "0"></td> </tr> <tr> <td>8</td> <td>Produit8</td> <td><input type="number" name="prix['8']" value = "0"></td> </tr> <tr> <td>9</td> <td>Produit9</td> <td><input type="number" name="prix['9']" value = "0"></td> </tr> <tr> <td>10</td> <td>Produit10</td> <td><input type="number" name="prix['10']" value = "0"></td> </tr> <tr> <td>11</td> <td>Produit11</td> <td><input type="number" name="prix['11']" value = "0"></td> </tr> <tr> <td>12</td> <td>Produit12 </td> <td><input type="number" name="prix['12']" value = "0"></td> </tr> <tr> <td>13</td> <td>Produit13</td> <td><input type="number" name="prix['13']" value = "0"></td> </tr> <tr> <td>14</td> <td>Produit14</td> <td><input type="number" name="prix['14']" value = "0"></td> </tr> <tr> <td>15</td> <td>Produit15</td> <td><input type="number" name="prix['15']" value = "0"></td> </tr> <tr> <td>16</td> <td>Produit16</td> <td><input type="number" name="prix['16']" value = "0"></td> </tr> <tr> <td>17</td> <td>Produit17</td> <td><input type="number" name="prix['17']" value = "0"></td> </tr> <tr> <td>18</td> <td>Produit18</td> <td><input type="number" name="prix['18']" value = "0"></td> </tr> <tr> <td>19</td> <td>Produit19</td> <td><input type="number" name="prix['19']" value = "0"></td> </tr> <tr> <td>20</td> <td>Produit20</td> <td><input type="number" name="prix['20']" value = "0"></td> </tr> <tr> <td>21</td> <td>Produit21 </td> <td><input type="number" name="prix['21']" value = "0"></td> </tr> <tr> <td>22</td> <td>Produit22</td> <td><input type="number" name="prix['22']" value = "0"></td> </tr> <tr> <td>23</td> <td>Produit23</td> <td><input type="number" name="prix['23']" value = "0"></td> </tr> <tr> <td>24</td> <td>Produit24</td> <td><input type="number" name="prix['24']" value = "0"></td> </tr> <tr> <td>25</td> <td>Produit25</td> <td><input type="number" name="prix['25']" value = "0"></td> </tr> </tbody> </table> <input type="submit" name="valider" /> </form> </div> </div> </div> </div> </div> </div> </div> </body> </html>