Autocompletion et récupération de valeur

Résolu
Ysabe_l Messages postés 12715 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ysabe_l Messages postés 12715 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voilà je vous explique, je dois créer un formulaire en php dans lequel il y a plusieurs champs. L'un de ces champs propose de choisir une valeur parmi des valeurs existant dans une base de données. Comme il y a énormément de valeurs différentes il faut que je fasse une autocompletion.

Alors j'arrive bien à faire afficher les choix que je veux, mais quand je clique sur un choix et bien il ne se passe rien, il ne s'affiche pas dans le champ de saisie. Je suis sure que c'est un soucis tout bête de javascript en plus mais je bloque tellement dessus que je ne vois plus la solution.

Voici le bout de code de ma page

	<p>
		<label for="course">Tier : </label>
		<input size="30" type="text" name="course" id="course" />
		<?php 
		$nom = $_POST['course'] ;
		?>	
	</p>


Le javascript que j'ai dans la page

<script language="javascript">
		$().ready(function() {
			
			$("#course").autocomplete("autocomplete.php", {
				width: 300,
				matchContains: true,
				mustMatch: true,
				selectFirst: false
			});
			
			$("#course").result(function(event, data, formatted) {
				$("#course_val").val(data[1]);
			});
			
		});
	</script>


Et la page autocomplete.php en question

<?php
require_once "includes/Connect.php";
$q = strtolower($_GET["q"]);
if (!$q) return;

$sql = "SELECT DISTINCT ident FROM tier WHERE ident LIKE '$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
	$cname = $rs['ident'];
	?>
	<span onClick="document.getElementById('course').innerHTML='utf8_encode(".$cname.")';"><?php echo utf8_encode("$cname"); ?></span>
	<?php
}
?>


Je précise que je suis en stage donc j'essaye au maximum d'utiliser les choses déjà faites par la personne, en l'occurrence la partie javascript en haut de page et la page autocomplete.php mais je peux quand même changer radicalement si ça fonctionne.

Merci d'avance de votre aide.



4 réponses

tete0148 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   89
 
je crois que pour l' auto complétion il faut faire le l' AJAX
0
Ysabe_l Messages postés 12715 Date d'inscription   Statut Contributeur Dernière intervention   277
 
Merci de ta réponse tete0148, je l'avais résolu toute seule mais comme je n'avais eu aucune réponse j'avais oublié de le passer en résolu !

Je m'étais débrouillée avec du php et du javascript, je ne connais toujours pas Ajax (mais ça va venir).
0
Natio78 Messages postés 719 Date d'inscription   Statut Membre Dernière intervention   96
 
il y a déjà de l'ajax là plus ou moins, est ce que tu as trouvé ta solution ou tu cherches encore?

sinon quand je regarde la doc jquery UI et ce que j'avais fais pour un projet, je ne suis pas sur que la méthode qui est utilisée là soi la bonne,

regarde:

https://jqueryui.com/autocomplete/#remote
si tu veux un coup de main demande je ferai mon possible!
0
Ysabe_l Messages postés 12715 Date d'inscription   Statut Contributeur Dernière intervention   277
 
Ah alors ça confirme que j'ignore totalement ce qu'est l'Ajax si j'en utilise sans le savoir, si j'ai du temps cet été je regarderai ça de plus près (mais j'ai tant à faire pfiou).

Bref pour revenir au sujet c'est bon j'avais résolu le soucis. Et effectivement je crois que j'étais partie sur une autre manière de faire (je n'ai pas le travail réalisé ici).

Merci quand même de ton aide :) .
0