IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

LIMIT dans une sucession de LIKE


Sujet :

PHP & Base de données

  1. #1
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 814
    Billets dans le blog
    14
    Par défaut
    Il suffit de mettre LIMIT à la fin. Par exemple, si tu ne veux que 10 résultats :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  3. #3
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    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

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 814
    Billets dans le blog
    14
    Par défaut
    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 Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.';
    				}

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    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

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 814
    Billets dans le blog
    14
    Par défaut
    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 Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    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

  12. #12
    Membre chevronné Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function lookup(inputString) {
    		if(inputString.length =< 2) {
    			$('#suggestions').hide();
    		}

Discussions similaires

  1. Contourner le non-support de limit dans une sous-requête
    Par Christophe Charron dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/09/2007, 10h45
  2. Réponses: 22
    Dernier message: 16/05/2007, 16h12
  3. Réponses: 7
    Dernier message: 08/03/2007, 09h23
  4. nombre d'enregistrements limite dans une table sql
    Par lilou229 dans le forum Outils
    Réponses: 3
    Dernier message: 30/01/2007, 15h21
  5. Probleme liste de choix limité dans une table
    Par oops1980 dans le forum Access
    Réponses: 4
    Dernier message: 08/09/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo