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

MySQL Discussion :

espace blanc et LIKE


Sujet :

MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut espace blanc et LIKE
    bonjour,
    j'ai essaye d'effectuer une requête de recherche en utilisant LIKE : voice le code PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // chaine à rechercher
    $txtsearch = $_POST['txtsearch'];
    // requête 
    $search = "select p.* from produit  p where p.ref like '%$txtsearch%' ";
    je reçois des résultants, mais le cas où le champ ref contient des espaces ( par exemple une valuer comme : 366 7 22 ) ici la requête retourne rien .
    y a t-il un moyen obtenir des résultats même avec ces espaces .
    merci d'avance .

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    tu veux dire que si par exemple $txtsearch est "722", tu veux retrouver "366 7 22" ?

    Dans ce cas, il suffit de réécrire ta condition ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where REPLACE(p.ref, ' ', '') like '%$txtsearch%'
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    merci Antoun pour tes répone
    non je voulais dire si $txtsearch est 366 7 22 , je veux avoir tout les produits dont ref est 366 7 22 .

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Alors c'est bizarre, ça devrait marcher... en fait, ça devrait même marcher avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where p.ref = '$txtsearch'
    Peux-tu faire ceci afin de vérifier le contenu de ta variable ?

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // chaine à rechercher
    $txtsearch = $_POST['txtsearch'];
    echo "<p>[$txtsearch]</p>" ;
    // requête 
    $search = "select p.* from produit  p where p.ref like '%$txtsearch%' ";
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    bonjour merci Antoun pour vos réponses.
    j'ai vérifie la valeur de la variable $txtsearch , elle contient 366 7 22.
    mais j'ai modifier le code en éliminant les espaces :
    PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $txtsearch = $_POST['txtsearch'];
    $txtsearch = str_replace(' ','',$txtsearch);
    et Mysql en utilisant la fonction REPLACE . et ça marche .
    merci

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Et tu es sûr que ta p.ref contient les espaces que tu penses ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Points : 217
    Points
    217
    Par défaut
    oui je vérifie les valeurs dans la base de donnée ( phpmyadmin) la valeur du champ est bein : 366 7 22.

    donc à votre avis d'où viens le problème ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Aucune idée !

    Peux-tu faire un SHOW CREATE TABLE sur ta table ? Ainsi qu'un SELECT ORD(SUBSTRING(ref FROM 4 FOR 1)) FROM produit sur la ligne avec 366 7 22 ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire fichiers - espace blanc
    Par christel1982 dans le forum Langage
    Réponses: 5
    Dernier message: 22/03/2006, 10h01
  2. Espace blanc sous un conteneur dans Safari 2.0
    Par cyberderf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/01/2006, 00h54
  3. Remplacer espace blanc...
    Par tochbee dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2005, 23h35
  4. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44
  5. Réponses: 4
    Dernier message: 04/03/2003, 01h05

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