Récuperer des valeurs de ma BDD MYSQL lorsque rempli une case Formulai

Récuperer des valeurs de ma BDD MYSQL lorsque rempli une case Formulai - PHP - Programmation

Marsh Posté le 13-09-2022 à 09:12:16    

Bonjour
 
Je débute dans le PHP / MYSQL. A ce jour mon formulaire permet d'ajouter des éléments dans ma BDD et de les mettre a jour.  
Par contre lorsque je mets à jour il faut que je retape toutes mes valeurs dans les cases  une a une même si c'est toujours la même valeur au final.  
 
J'aimerai pouvoir récupérer les valeurs de ma BDD selon la Cases Id_boutique. Donc quand je mets le numéro de ref de la boutique ça récupère les valeurs déjà présentes et ainsi j'ai juste à modifier celles que je souhaite modifié.
 
Est ce que quelqu'un serait me dire comment faire ?  
 
je vous mets ci-dessous mon code.  
 

Code :
  1. <?php
  2. //Base de donnée
  3.          if (!empty($_POST['send'])) {
  4.             $Boutique = $_POST['Boutique'];
  5.             $id_boutique = $_POST['id_boutique'];
  6.             $ip = $_POST['ip'];
  7.             $TV_MI = $_POST['TV_MI'];
  8.              $MagicInfo = $_POST['MagicInfo'];
  9.             $connexion = mysqli_connect(
  10.                 'localhost', 'root', 'root', 'ip_boutique')
  11.             or die('Erreur de connexion: ' . mysqli_error($connexion));
  12.             $result = mysqli_query($connexion,
  13.                "INSERT INTO `boutiques_IP` (`Boutique`, `id_boutique`, `ip`, `TV_MI`, `MagicInfo`) VALUES ('$Boutique','$id_boutique','$ip','$TV_MI','$MagicInfo')" );
  14.              
  15.             if ($result) {
  16.                 $db_msg = 'Les informations de cette nouvelle boutique sont enregistrées avec succès.';
  17.                 $type_db_msg = 'success';
  18.             } else {
  19.                 $db_msg = 'Erreur lors de la tentative d\'enregistrement des informations de cette nouvelle boutique.';
  20.                 $type_db_msg = 'error';
  21.             }
  22.         }
  23.         if (!empty($_POST['update'])) {
  24.             $Boutique = $_POST['Boutique'];
  25.             $id_boutique = $_POST['id_boutique'];
  26.             $ip = $_POST['ip'];
  27.             $TV_MI = $_POST['TV_MI'];
  28.             $MagicInfo = $_POST['MagicInfo'];
  29.             $connexion = mysqli_connect(
  30.                 'localhost', 'root', 'root', 'ip_boutique')
  31.             or die('Erreur de connexion: ' . mysqli_error($connexion));
  32.             $result = mysqli_query($connexion,
  33.                "UPDATE `boutiques_IP`
  34.                 SET MagicInfo  = '$MagicInfo', ip = '$ip', TV_MI = '$TV_MI'
  35.                 WHERE id_boutique = '$id_boutique' " );
  36.             if ($result) {
  37.                 $db_msg = 'Les informations de cette boutique sont mis a jour avec succès.';
  38.                 $type_db_msg = 'success';
  39.             } else {
  40.                 $db_msg = 'Erreur lors de la tentative de mise à jour des informations de cette nouvelle boutique.';
  41.                 $type_db_msg = 'error';
  42.             }
  43.         }
  44.    
  45.    
  46. ?>
  47. <html lang="fr">
  48.     <head>
  49. <link rel="stylesheet" href="css/FCinfos.css">
  50.          <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  51.  <link rel="stylesheet" href="/wp-content/themes/ashe/ip-boutiques/ip_boutique.css" />
  52.  <script type="text/javascript" src="/wp-content/themes/ashe/ip-boutiques/ip_boutique.js"></script>
  53.        
  54.     </head>
  55.     <body> 
  56.          <div id="box">
  57.    <form id="form" enctype="multipart/form-data" onsubmit="return validate()" method="post">
  58.      <h3>Etat des boutiques </h3>
  59.      <label>Boutique: <span>*</span></label>
  60.      <input type="text" id="Boutique" name="Boutique" placeholder="Ville de la Boutique"/>
  61.      <label>id_boutique: <span>*</span></label>
  62.      <input type="text" id="id_boutique" name="id_boutique" placeholder="ID SIEBEL de la boutique"/>
  63.      <label>Commentaire: <span>*</span></label>
  64.      <input type="text" id="ip" name="ip" placeholder="Commentaire"/>
  65.      <label>MagicInfo:</label>
  66.             <select name= "MagicInfo" onChange= "location.href= "+this.options[this.selectedIndex].value+"; ">
  67.                 <option>Faites votre choix</option>
  68.                 <option value= "ACTIF">ACTIF</option>
  69.                 <option value= "TV sur Clé USB">TV sur Clé USB</option>
  70.                 <option value= "TV sur Nuke/Odroid/RPI">TV sur Nuke/Odroid/RPI</option>
  71.                 <option value= "Vidéospot toujours ACTIF">Vidéospot toujours actif</option>
  72.                 <option value= "Fonctionne Partiellement Voir commentaire">Fonctionne Partiellement</option>
  73.                 <option value= "MI configuré mais Videospot actif">MI configuré mais Videospot actif</option>
  74.                 <option value= "INACTIF">INACTIF</option>
  75.                 </select>
  76.              
  77.                 <br><br><label>Nombre de TV sur MagicInfo: <span>*</span></label>
  78.      <input type="text" id="TV_MI" name="TV_MI" placeholder="Nombre de TV sur MagicInfo"/>
  79.      <input type="submit" name="send" value="AJOUTER UNE BOUTIQUE"/>
  80.             <input type="submit" name="update" value="Mettre à jour les informations dans la BDD"/>
  81.   <div id="statusMessage">
  82.             <?php if (! empty($db_msg)) { ?>
  83.               <p class='<?php echo $type_db_msg; ?>Message'><?php echo $db_msg; ?></p>
  84.             <?php } ?>
  85.              </div>
  86.    </form>
  87.     </div>
  88.        
  89.        
  90.        
  91.     <?php //Connexion avec la BDD.
  92.         $connect = new mysqli("localhost", "root", "root", "ip_boutique" );
  93.         if ($connect->connect_errno)
  94.         {
  95.             echo "Echec lors de la connexion à MySQL : (" . $connect->connect_errno . " ) " . $connect->connect_error;
  96.         }
  97.         $reponse= $connect->query('SELECT * FROM boutiques_IP');
  98.     ?>
  99.          
  100.         <table class="container">
  101.  
  102.             <thead>             
  103.                     <tr>
  104.                     <td><h1>BOUTIQUES</h1></td>
  105.                     <td><h1>ID</h1></td>
  106. <td><h1>Commenaire</h1></td>
  107.                    <td><h1>MagicInfo</h1></td>
  108.                         <td><h1>TV MI</h1></td>
  109.                     </tr>    
  110.            
  111.             </thead>
  112. <tbody>
  113.             <?php //Affichages des lignes du tableau
  114.             while($donnees = mysqli_fetch_array($reponse))
  115.             {
  116.             ?>
  117.                 <tr>
  118.                     <td><?php echo $donnees['Boutique'];?></td>
  119.                     <td><?php echo $donnees['id_boutique'];?></td>
  120.   <td><?php echo $donnees['ip'];?></td>
  121.   <td><?php echo $donnees['MagicInfo'];?></td>
  122. <td><?php echo $donnees['TV_MI'];?></td>
  123.                    
  124.      </tr></tbody>
  125.             <?php
  126.             }
  127.        
  128.             ?>
  129.         </table>
  130.     </body>
  131. </html>


Message édité par icrea le 13-09-2022 à 09:14:16
Reply

Marsh Posté le 13-09-2022 à 09:12:16   

Reply

Marsh Posté le 14-09-2022 à 09:17:52    

Ben non, pas besoin : tu peux très bien faire un UPDATE sur un seul champ :
UPDATE MaTable SET MonChamp = MaValeur WHERE MaCondition = ValeurCondition;
 
Sachant que bien entendu, tu peux mettre plusieurs conditions dans le WHERE. Tu peux même faire une jointure entre 2 tables pour que la condition dépende d'un champ d'une autre table que celle à mettre à jour.
 
Au passage, pourquoi tu fait pas juste une création de connexion à la BD en début du script et une fermeture de connexion à la fin (que tu ne fais pas du reste) plutôt que de mettre à 3 endroits différents la création de la connexion.
De même, on ne met pas en dur les infos de connexion à la BD, on les prend dans un fichier de conf. Dans ton cas, c'est du WordPress, donc tu peux utiliser les variables créées ) partir de son fichier de conf ;)
 
Et autant que possible, essaye de séparer le HTML/CSS du PHP.
 
Mais ne t'inquiète pas, quand on débute, on fait pleins de trucs mal  :hello:  
 
Edit : ah oui, et le classique SQL injection à éviter. Utilise les requêtes préparées.


Message édité par rufo le 14-09-2022 à 09:18:28

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-09-2022 à 11:53:45    

Merci pour ta réponse, je vais testé ça sur l'UPDATE.  
 
J'ai essayé de simplifier le code avec une création de connexion en début et la fermeture en Fin et j'ai obtenue une page blanche et je me suis pris la tête plusieurs heures a comprendre d’où venait mon erreur que j'en ai eu marre et j'ai remis comme ça ;-) !  

Reply

Marsh Posté le 14-09-2022 à 13:34:50    

J'imagine que tu n'as pas fait afficher les msgs d'erreur ? (cf. reporting_error())


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed