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 :

Requête avec WHERE 1 AND et plein de OR le AND n'est pas pris en compte [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requête avec WHERE 1 AND et plein de OR le AND n'est pas pris en compte
    Hello, j'ai un probleme sur une requette.

    J'ai un formulaire qui permet de faire une recherche et qui prépare ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
        $keywords = tep_db_input(tep_db_prepare_input($HTTP_GET_VARS['search']));
          $search1 = "customers_name like '%" . $keywords . "%' or numero_int like '%" . $keywords . "%' or delivery_company like '%" . $keywords . "%' or delivery_name like '%" . $keywords . "%' or RMA like '%" . $keywords . "%' or appareil like '%" . $keywords . "%' or numero like '%" . $keywords . "%' or panne like '%" . $keywords . "%' or imei like '%" . $keywords . "%' or customers_company like '%" . $keywords . "%' or customers_email_address like '%" . $keywords . "%'";
    La recherche est alors utilisée ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          $sav_query_raw = "select o.sav_id, o.customers_name,o.imei,o.appareil,o.language, o.RMA, o.customers_id, o.date, o.last_modified, s.sav_status_name as savs_total from " . TABLE_sav . " o, " . TABLE_sav_STATUS . " s where o.distri = 'valide' and o.sav_status = s.sav_status_id and s.language_id = '" . (int)$languages_id . "' and  " . $search1;
    Mais le probleme, est que ca me sort tous les enregistrements même ceux ou o.distri n'est pas valid.
    Pourquoi il m'affiche tout ?

    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    si tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "select o.sav_id, o.customers_name,o.imei,o.appareil,o.language, o.RMA, o.customers_id, o.date, o.last_modified, s.sav_status_name as savs_total from " . TABLE_sav . " o, " . TABLE_sav_STATUS . " s where o.distri = 'valide' and o.sav_status = s.sav_status_id and s.language_id = '" . (int)$languages_id . "' and  " . $search1;
    ca te donne quoi ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    ca me sort ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select o.sav_id, o.customers_name,o.imei,o.appareil,o.language, o.RMA, o.customers_id, o.date, o.last_modified, s.sav_status_name as savs_total from saveten o, saveten_status s where o.distri = 'valide' and o.sav_status = s.sav_status_id and s.language_id = '2' and customers_name like '%motclef%' or numero_int like '%motclef%' or delivery_company like '%motclef%' or delivery_name like '%motclef%' or RMA like '%motclef%' or appareil like '%motclef%' or numero like '%motclef%' or panne like '%motclef%' or imei like '%motclef%' or customers_company like '%motclef%' or customers_email_address like '%motclef%'
    Merci de m'avoir mis sur la voie... c'est fou ce qu'une simple () peut faire

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

Discussions similaires

  1. requête avec "where 1"
    Par Amanck dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2008, 08h10
  2. [MySQL] requête avec WHERE sur primary key
    Par newbiemac dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/09/2007, 09h41
  3. requête avec WHERE A < Date < B de semaine en semaine
    Par cortex024 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/06/2007, 14h41
  4. Problème de requête avec WHERE MAX()
    Par seb92500 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 24/01/2007, 12h27
  5. Problème avec un div qui n'est pas pris en compte
    Par boss_gama dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 25/07/2006, 16h32

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