Bonjour a tous,
je débute en ajax/javascript et j'essais de faire en sorte que quand je sélectionne une valeur dans mon menu déroulant, dans mon cas un login, tous les inputs se remplissent automatiquement avec les information qui concerne le login sélectionne.
Voici la page Modif.php :
et la page traitement.php :
j'ai pas mal lu tous les autres topics ouvert a ce sujet mais je n'arrive toujours pas a le faire fonctionner alors si vous pouvez m'aider en m’indiquant ce qui va pas ou en me corrigeant.
Merci d'avance.
Edit : Je viens de trouver les erreur qui me sont donneés:
Notice: Undefined index: noms in /home/sibox/public_html/Include/Profil/traitement.php on line 3
Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/sibox/public_html/Include/Profil/traitement.php on line 6
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /home/sibox/public_html/Include/Profil/traitement.php on line 6
Erreur SQL !
SELECT * FROM Utilisateurs WHERE login=.""
Modifié par Fl0riba (25 Jul 2015 - 17:23)
je débute en ajax/javascript et j'essais de faire en sorte que quand je sélectionne une valeur dans mon menu déroulant, dans mon cas un login, tous les inputs se remplissent automatiquement avec les information qui concerne le login sélectionne.
Voici la page Modif.php :
<?php include('Include/General/connexion.php');?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<SCRIPT>
<!--
$(document).ready(function() {
$('select#noms').change(function() {
//On récupère le nom
var value = $(this).val();
//Index
var i = 0;
//On prépare l'Ajax
$.ajax({
//On indique le fichier ou aller consulter
url: "Include/Profil/traitement.php",
//Le type de l'envoi (POST ou GET)
type: "POST",
//On indique que le résultat sera un tableau JSON
dataType: "JSON",
//On lui donne le nom de la personne
data: {nom : value},
success:function(data)
{
//Nécessite d'avoir les informations du tableau dans le
//même ordre que les inputs
$('input').each(function(){
$(this).val(data)
i++;
});
}
});
});
});
//-->
</SCRIPT>
<section class="seccreacompte">
<form method="POST" action="/~sibox/Include/Creation_Compte/Ajout.php" class="formClassique">
<fieldset class="creacompte">
<legend><h3>Infos compte</h3></legend>
<table>
<tr><td><p> Login : </td><td> <input type="text" id="login"/required></p></td></tr>
<tr><td><p> Mail : </td><td><input type="email" name="mail"/required/></p></td></tr>
<tr><td><p> Nom : </td><td><input type="text" name="nom"/required/></p></td></tr>
<tr><td><p> Prenom : </td><td><input type="text" name="prenom"/required/></p></td></tr>
<tr><td><br><br>
<select id="noms" >
<?php
$requete="select * from Utilisateurs order by login;";
$res= $mysqli->query($requete) or die ("erreur dans la requete");
$ligne=mysqli_fetch_array($res);
while($ligne)
{
echo'<option value='.$ligne['login'].'">'.$ligne['login'].'</option>';
$ligne=mysqli_fetch_array($res);
}
?>
</SELECT>
</td></tr>
</table>
</fieldset>
<br>
<center><p><input type="submit" />
<input type="reset"/></p>
</form>
</section>
et la page traitement.php :
<?php
include('../General/connexion.php');
//On récupère le nom passé en paramètre
$nom = $_POST['noms'];
$requete = 'SELECT * FROM Utilisateurs WHERE login="'.$nom.'"';
$informations = mysqli_query($requete) or die('Erreur SQL !<br>'.$requete.'<br>'.mysqli_error());
echo json_encode($informations);
?>
j'ai pas mal lu tous les autres topics ouvert a ce sujet mais je n'arrive toujours pas a le faire fonctionner alors si vous pouvez m'aider en m’indiquant ce qui va pas ou en me corrigeant.
Merci d'avance.
Edit : Je viens de trouver les erreur qui me sont donneés:
Notice: Undefined index: noms in /home/sibox/public_html/Include/Profil/traitement.php on line 3
Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/sibox/public_html/Include/Profil/traitement.php on line 6
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /home/sibox/public_html/Include/Profil/traitement.php on line 6
Erreur SQL !
SELECT * FROM Utilisateurs WHERE login=.""
Modifié par Fl0riba (25 Jul 2015 - 17:23)