Update a partir d'une valeur d'une liste deroulante partie 2

Résolu/Fermé
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016 - 20 nov. 2013 à 03:23
 Mastermind - 17 juin 2016 à 14:58
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.

A voir également:

2 réponses

alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
20 nov. 2013 à 07:11
je viens de trouver la solution mais je n'arrive pas a mettre le sujet sur resolu
0
Salut, comment as tu fais stp ?
0
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
20 nov. 2013 à 07:12
c est bon
0