Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1163 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2426268
icrea
Posté le 13-09-2022 à 09:12:16  profilanswer
 

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
mood
Publicité
Posté le 13-09-2022 à 09:12:16  profilanswer
 

n°2426383
rufo
Pas me confondre avec Lycos!
Posté le 14-09-2022 à 09:17:52  profilanswer
 

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
n°2426397
icrea
Posté le 14-09-2022 à 11:53:45  profilanswer
 

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 ;-) !  

n°2426399
rufo
Pas me confondre avec Lycos!
Posté le 14-09-2022 à 13:34:50  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
MYSQL: vrai timestamp?SQL meilleure solution pour une BDD ?
Regex récupérer valeur à partir d'un caractère[Résolu] Pb de débutant, insérer des valeurs dans un tableau
Récupérer la valeur d'inputs pour personnaliser h1Exercice html, php, mysql, javascript
Excel+PHP/MysqlAstuce pour récupérer pdf ?
Select where avec plusieurs valeurs[Résolu] Pb de regexp avec Mysql
Plus de sujets relatifs à : Récuperer des valeurs de ma BDD MYSQL lorsque rempli une case Formulai


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR