alone06
Messages postés115Date d'inscriptionmardi 9 novembre 2010StatutMembreDernière intervention18 mai 2016
-
Modifié par alone06 le 19/11/2013 à 23:01
alone06
Messages postés115Date d'inscriptionmardi 9 novembre 2010StatutMembreDernière intervention18 mai 2016
-
20 nov. 2013 à 00:10
Bonjour,
J'ai besoin de votre aide svp car je galère depuis un moment :(
Voila mon soucis; 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.
J'ai pensé a utiliser ajax mais mon soucis est que j'arrive pas a recuperer l'id de l'enregistrement.
J'arrive a lister tous les noms des enregistrements sous forme d'une liste deroulante.
<?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['nom'].'">'.$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>
Le souci est est que la valeur passée de "q" est showUser(this.value) je ne sais pas comment passer a la place de "value" la valeur de "id" ou '.$val['id'].' pour pouvoir l'utiliser par la suite dans ma requete update.
J'espere que j'etais assez clair dans mon explication je reste a disposition pour tout complement d'information.
et merci d'avance.
Ps ici vous trouverez le script sql
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');
A voir également:
Update a partir d'une valeur d'une liste deroulante
alone06
Messages postés115Date d'inscriptionmardi 9 novembre 2010StatutMembreDernière intervention18 mai 2016 19 nov. 2013 à 23:46
Merci, mais deja la question etait par rapport a 'Update a partir d'une valeur d'une liste deroulante' alors je ne sais pas si je dois la mettre encore en résolue