Partie 2 Update a partir d'une valeur d'une liste deroulante [Résolu]

Signaler
Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016
-
Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016
-
Rebonjour,
Voila mon souci; je voudrais creer une requete update pour modifier les enregistrement d'une table.
l'enregistrement qu'on voudrait changer serait choisi a partir d'une liste deroulante, des lors toutes les informations correspondants a cet enregistrement seront listées dans un tableau pour que l'utilisateur puisse voir les anciennes informations.
voila la premiere partie ou l'utilisateur pourra choisir l'enregistrement a modifier
<?php include('conn.php'); ?>
<html>
 <head>
 <script>
 function showUser(str)
 {
 if (str=="")
   {
   document.getElementById("txtHint").innerHTML="";
   return;
   } 
 if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
     }
   }
 xmlhttp.open("GET","getuser.php?q="+str,true);
 xmlhttp.send();
 }
 </script>
 </head>
 <body>

<select id="select2" name="id" onChange="showUser(this.value)">

    <option value="">Choisissez un titre:</option>
    <?php
    $sql = 'SELECT * FROM users';
    $req = mysql_query($sql);
    $data = array();
   
	
    while ($val = mysql_fetch_array($req))
    {
       // mettre tous les champs ici
       $data[] = '{"nom":"'. addcslashes($val['nom'], '"') .'", "prenom":"'. addcslashes($val['prenom'], '"') .'", "age":"'. addcslashes($val['age'], '"') .'", "poste":"'. addcslashes($val['poste'], '"') .'", "adresse":"'. addcslashes($val['adresse'], '"') .'"}';
       echo '<option value="'.$val['id'].'">'.$val['nom'].'</option>';
	   	
    }
	
    ?> 
</select>
<script type="text/javascript">
var data = {<?php echo implode(', ', $data); ?>};
function showInfo(nom)
{
    if (data[nom])
        alert('nom: '+ nom +'\nprenom: '+data[nom].prenom+'\nage: '+data[nom].age+'\nposte: '+data[nom].poste+'\nadresse: '+data[nom].adresse);
    else
        alert('veuillez sélectionner une valeur');
}
</script>
 <br>
 <div id="txtHint"><b>la liste des agents. </b></div>

 </body>
 </html>


et ici le script ajax getuser.php
<?php
$q = intval($_GET['q']);

 $con = mysqli_connect('localhost','X','X','X');
 if (!$con)
   {
   die('Could not connect: ' . mysqli_error($con));
   }

 mysqli_select_db($con,"X");
 $sql="SELECT * FROM users WHERE id = '".$q."'";

 $result = mysqli_query($con,$sql);

 echo "<table border='1'>
 <tr>
 <th>Nom</th>
 <th>Prenom</th>
 <th>Age</th>
 <th>Poste</th>
 <th>Adresse</th>
 </tr>";

 while($row = mysqli_fetch_array($result))
   {
   echo "<tr>";
   echo "<td>" . $row['nom'] . "</td>";
   echo "<td>" . $row['prenom'] . "</td>";
   echo "<td>" . $row['age'] . "</td>";
   echo "<td>" . $row['poste'] . "</td>";
   echo "<td>" . $row['adresse'] . "</td>";
   echo "</tr>";
   }
 echo "</table>";


echo "$q";
echo   $rows['nom']  ;

 mysqli_close($con);
 ?>
 <form action="update.php" method="post">
<div>
<table border="1">
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>

  <tr>
    <td>Nom <?php echo $rows['nom']; ?></td>
    <td> </td>
    <td>
	<input name="nom" type="text" id="nom" value="<?php echo $rows['nom']; ?>" size="30"/></td>
  </tr>
  <tr>
    <td>Prénom <?php echo $rows['prenom']; ?></td>
    <td> </td>
    <td>
	<input name="prenom" type="text" id="prenom" value="<?php echo $rows['prenom']; ?>" size="30"  /> </td>
  </tr>
  <tr>
    <td>Age <?php echo $rows['age']; ?></td>
    <td> </td>
    <td><input type="text" name="age" id="age" size="30" value="<?php echo $rows['age']; ?>"  /></td>
  </tr>
  <tr>
    <td>Poste <?php echo $rows['poste']; ?></td>
    <td> </td>
    <td>
    <input type="text" name="poste" id="poste" size="30" value="<?php echo $rows['poste']; ?>" /></td>
  </tr>
  <tr>
    <td>Adresse <?php echo $rows['adresse']; ?></td>
    <td> </td>
    <td><input type="text" name="adresse" id="adresse" size="50" value="<?php echo $rows['adresse']; ?>" /></td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> <input name="id" type="hidden" id="id" value="<?php echo $q; ?>"/>
<input type="submit" name="Submit" value="Submit" /></td>
  </tr>
</table>

</div>
</form>

Je sais qu'il me faut un script update.php ou il y'aura la requete du genre
$sql="UPDATE users SET nom='nom', prenom='prenom', age='age' , poste='poste' , adresse='adresse' WHERE id = '$q'";

en sachant que j'ai passé la valeur $q comme etant l'id de l enregistrement (je ne sais pas si c'est correct ou non)
voila le script de la bd
CREATE TABLE IF NOT EXISTS 'users' (
  'id' int(11) NOT NULL AUTO_INCREMENT,
  'nom' text NOT NULL,
  'prenom' text NOT NULL,
  'age' int(11) NOT NULL,
  'poste' text NOT NULL,
  'adresse' text NOT NULL,
  PRIMARY KEY ('id')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
INSERT INTO 'users' ('id', 'nom', 'prenom', 'age', 'poste', 'adresse') VALUES
(1, 'le claire', 'jean', 26, 'comptabilite', 'paris'),
(2, 'dumas', 'alexandre', 40, 'ressources humaines', 'paris'),
(3, 'dubois', 'karim', 27, 'comptabilite', 'paris'),
(4, 'dubris', 'françois', 30, 'maintenance', 'paris'),
(5, 'champentier', 'jean yves', 26, 'communication', 'paris'),
(6, 'la fontaine', 'pierre', 26, 'communication', 'paris'),
(7, 'morel', 'Jacquelyne', 26, 'comptabilite', 'paris');

Merci d'avance pour votre aide.

1 réponse

Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016

apres quelque recherche je viens de trouver merci quand meme