Base de donnees et champs d saisies

Résolu/Fermé
LebeauPain - 1 août 2022 à 21:43
 LebeauPain - 4 août 2022 à 17:04

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

10 réponses

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
1 août 2022 à 22:50

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.


0

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 

0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
1 août 2022 à 23:20

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>

0

Merci pour cet réponse rapide. J t tiens au courant 

0

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... } 

0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 août 2022 à 15:41

Tu pourrais nous poster le code source généré de la page ?

(pour avoir le code source généré ... afficher la page dans le navigateur puis faire CTRL+u )

0

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>
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 août 2022 à 18:11

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
}
0

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...

0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
3 août 2022 à 22:00

Tu pourrais remettre le écho que j'avais mis initialement dans le if et nous montrer ce que ça te retourne

0

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>
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
4 août 2022 à 15:00

et bien, ça devrait donc être bon...

0

Cela fonctionne sauf que je bute sur comment insérer dans ma base d données 

0

J45 merci pour le temps consacré à mon petit soucis. Finalement j'ai compris ce qu'il fallait. Un update au lieu d'un insert into 

Encore merci 

0