Page 1 sur 1

Autocompletion php, plusieurs where ??

Posté : 18 juin 2012, 21:22
par nico44530
Bonjour,

j'ai un script d'autocomplétion,
Dès que je commence à écrire les premières lettres du prénom du membre dans le champs, le résultat s'affiche. Mais je souhaiterais faire pareil avec les noms :
J'ai déjà essayé de mettre "WHERE prenom OR nom" ça ne fonctionne pas :cry:

le voici (source du script : http://www.j0k3r.net/article/ajax-une-a ... ee-en-ajax):
	if(isset($_POST['chef'])){
		header('Content-type: text/html; charset=iso-8859-1');
		// on inclut la connexion
		mysql_connect('******', '******', '*******');
		mysql_select_db('*******');
		// on fait la requête
		$sql = "SELECT nom, prenom, id FROM wa_communaute WHERE prenom LIKE '".$_POST['chef']."%'";
		$req = mysql_query($sql);
		
		$i = 0;
		echo '<ul class="contacts">';
		// on boucle sur tous les éléments
		while($autoCompletion = mysql_fetch_assoc($req)){
			echo '
			<li class="contact"><div class="image"><img src="personne/'.$autoCompletion['id'].'-mini.jpg"/></div><div class="nom">'.$autoCompletion['nom'].'</div>
			<div class="prenom">
			<span class="informal">'.$autoCompletion['prenom'].'</span>
			</div>
			</li>';
			// on s'arrête s’il y en a trop
			if (++$i >= 10)
				die('<li>...</li></ul>');
		}
		echo '</ul>';
		die();
	}
Comment je dois faire ?
Merci

Re: Autocompletion php, plusieurs where ??

Posté : 18 juin 2012, 22:00
par Nours312
1. edit ton message et masques les identifiants de ton serveur si tu peux !

2. testes ceci :
$sql = "SELECT nom, prenom, id FROM wa_communaute WHERE prenom LIKE '".$_POST['chef']."%' OR nom LIKE '".$_POST['chef']."%'";
3. par ailleurs, jetes un oeil à mysql_real_escape_string, un peu de sécurité, ça ne fait pas de mal !...

@++

Re: Autocompletion php, plusieurs where ??

Posté : 18 juin 2012, 23:38
par nico44530
Merci de ta réponse,

J'ai un problème avec ce script, il utilise les librairies scriptaculous, prototype, et moi j'utilise jquery.
Et évidemment il y a un conflit avec mes autres scripts qui ne s'affiche plus.

Il y aurait pas un moyen d'utiliser ce script à l'adresse : http://www.j0k3r.net/article/ajax-une-a ... ee-en-ajax en Jquery ??

Merci

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 00:13
par Nours312
En fait, Prototype utilises des Classes propre il a été développer pour rubyfier le javascript à la base en rangeant de façon cohérentes les rôles et attributions de chaque types d'éléments, malheureusement, il n'a pas eu les moyens attribués à jQuery et est en parfaite pertes de vitesse ...
A contrario, jQuery est un objet unique qui s'adapte au contexte, d'ou son attrait pour les non-développeurs :twisted: ...
mais pour faire simple, il y a un objet jQuery qui fait tout sauf le café ! face à une organisation rédactionnelle archaïque ...

Donc, non, il n'est pas possible de l'utiliser dans l'état, par contre à l'époque, il me semble qu'il était possible de faire cohabiter les libs en déclarant à jQuery de respecter les autres libs et en utilisant l'objet jQuery à la place de $ (utilisé par prototype) http://docs.jquery.com/Using_jQuery_wit ... _Libraries

sinon, à recoder, ce n'est pas non plus un exploit ^^ ... :D tout dépends de ton niveau ;)

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 00:28
par nico44530
A recoder alors, mais mon niveau #-o est débutant, mais il y a juste cette partie à recoder si tu regarde le script en entier sur cette page :

http://www.j0k3r.net/article/ajax-une-a ... ee-en-ajax

Ca c'est bien du scriptaculous, prototype ? :

Code : Tout sélectionner

function ac_return(field, item){ // on met en place l'expression régulière var regex = new RegExp('[0123456789]*-mini', 'i'); // on l'applique au contenu var nomimage = regex.exec($(item).innerHTML); //on récupère l'id id = nomimage[0].replace('-mini', ''); // et on l'affecte au champ caché $(field.name+'_id').value = id; }
Il y a aussi le script en ajax mais ce n'est que de l'ajax :

Code : Tout sélectionner

new Ajax.Autocompleter ('chef', 'chef_update', 'autocompletion.php', { method: 'post', paramName: 'chef', afterUpdateElement: ac_return });
Pouvez-vous me recoder ces petits bouts de codes ?
Merci beaucoup d'avance

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 01:24
par Nours312
ce ne sont pas de petits bout de code !...

la classe Ajax.Autocompleter doit faire 300 lignes et s'appuie sur une bonne partie de la lib prototype qui dois peser 7/8000 lignes ... le tout certainement avec des effets de scriptaculous ~ 3/4000 lignes ...

donc, à recoder, tu vas aller à l'essentiel, te restreindre au strict minimum, et tu pourras ainsi t'en sortir avec une centaine de lignes ... mais il faut le faire !...

sinon, il doit bien y avoir un équivalent en jQuery ... ! non ?

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 03:55
par nico44530
Au lieu de me prendre la tête, je pense que je vais adapter mon site à cette librairie.

Merci quand même :D

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 21:24
par Ryle
Modération :
J'ai édité ton message d'origine afin de supprimer les informations de connexion que tu avais laissé.
Cependant, celles-ci ayant été publiées pendant un certain temps, je te recommande fortement de les modifier.

Re: Autocompletion php, plusieurs where ??

Posté : 19 juin 2012, 21:45
par nico44530
Merci, je m'en souviendrais de celle là ! :mrgreen: