Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/11/2011, 11h16   #1
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Par défaut LIMIT dans une sucession de LIKE

Bonjour à tous, j'ai une question.

Comment dans une requête de ce type la :
Code php :
1
2
3
4
5
6
 
$affichage = "SELECT ID, NOM, PRENOM, ADRESSE
FROM clients 
WHERE nom LIKE '%".$recherche."%'
OR prenom LIKE '%".$recherche."%'
OR adresse LIKE '%".$recherche."%'";

Comment puis donner une limit à mon select ? Car en cas d'affichage via ajax j'ai une liste beaucoup trop longue


Quelque chose dans ce type la :
Code php :
1
2
3
4
5
6
$affichage = "SELECT ID, NOM, PRENOM, ADRESSE
FROM clients 
WHERE nom LIKE '%".$recherche."%'
OR prenom LIKE '%".$recherche."%'
OR adresse LIKE '%".$recherche."%' LIMIT 10"

merci par avance
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 11h35   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Il suffit de mettre LIMIT à la fin. Par exemple, si tu ne veux que 10 résultats :
Code :
1
2
3
4
5
6
7
 
$affichage = "SELECT ID, NOM, PRENOM, ADRESSE
FROM clients 
WHERE nom LIKE '%".$recherche."%'
OR prenom LIKE '%".$recherche."%'
OR adresse LIKE '%".$recherche."%' 
LIMIT 10";
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/11/2011, 15h56   #3
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
La requête fonctionne dans mon panneau phpmyadmin

Mon soucis vient du fait que j'affiche via ajax à chaque ajout de lettre les propositions dans une fenêtre au dessous.


Mais dans la liste la limite est tout simplement ignorée
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 16h02   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Si le programme Ajax exécute cette requête, il ne récupérera que 10 résultats au maximum. Le résultat affiché ne peut alors pas avoir plus de 10 lignes !

Il faut voir du côté de vos programmes Ajax.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 11h18   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Effectivement, le problème doit être du côté de l'ajax. Si ta fonction ajax ajoute les résultats de ta requête à la suite d'une liste, forcément au 1ere tour tu vas en avoir 10, puis 20 au 2e et ainsi de suite...
Est-ce que ce ne serait pas ça le problème ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 13h42   #6
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Voici la requête qui va me chercher les propositions pour après les afficher via AJAX !

J'ai pourtant bien la LIMIT 5, sans succès j'ai un nombres plus important que 5 en proposition
Merci d'avance pour votre piste !

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$query = $db->query("SELECT ID, NOM, PRENOM, ADRESSE
				FROM sc_video
				WHERE NOM LIKE '$queryString%'
				OR PRENOM LIKE '$queryString%'
				OR ADRESSE LIKE '$queryString%'
				LIMIT 5");
				if($query) {		
					while ($result = $query ->fetch_object()) {
 
 
	         			echo '<li onClick="fill(\''.$result->NOM.'\');">'.$result->NOM.'</li>';
						echo '<li onClick="fill(\''.$result->PRENOM.'\');">'.$result->PRENOM.'</li>';
						echo '<li onClick="fill(\''.$result->ADRESSE.'\');">'.$result->ADRESSE.'</li>';
	         		}
				} else {
					echo 'ERROR: There was a problem with the query.';
				}
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 13h54   #7
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Juste pour l'info : quand tu dis "plus que 5", tu obtiens quoi ? 15 ? 42 ? 3millions ?

Parce que là, la limite a l'air correctement écrite
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 15h09   #8
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Bonjour Voici un screen pour se donner une idée ! Le résultat de la recherche n'est pas effectué sur la bonne base de donnée!

Mais le script est le même !

Cordialement
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h50   #9
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
La partie PHP de ton Ajax semble bonne et la limite est bien fixée à 5 donc cette requête ne peut retourner que 5 lignes au maximum.

Es-tu certain que la partie Javascript lance bien la partie PHP que tu nous montres ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h58   #10
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
Tu peux aussi tester sans la limit et voir si ça change quelque chose.
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2011, 09h00   #11
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Voici mon seul et unique appel JS : http://code.google.com/p/jqueryjs/do...ck.js&can=2&q=

Et voici une source : http://www.nodstrum.com/2007/09/19/autocompleter/

Je ne vois pas du tout d'ou cela peut il venir
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 12h43   #12
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Je post pour ceux serai en recherche également

Je ne suis pas arrivé à corriger au niveau SQL, j'ai donc modifié mon Javascript.

Dans la fonction Javascript recherchez ce bout de code.

Code javascript :
1
2
3
4
function lookup(inputString) {
		if(inputString.length == 0) {
			$('#suggestions').hide();
		}

Remplacez simplement la longueur requis de 0 à <2 pour avoir une recherche au bout du 2eme caractères uniquement!

Code javascript :
1
2
3
4
function lookup(inputString) {
		if(inputString.length =< 2) {
			$('#suggestions').hide();
		}
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h35.


 
 
 
 
Partenaires

Hébergement Web