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

Requêtes MySQL Discussion :

syntaxe like avec variable


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 16
    Par défaut syntaxe like avec variable
    Bonsoir à tous,

    J'ai un petit soucis pour écrire une requète sql avec un "like" :
    J'ai une base pour gérer, entre autre, l'occupation de salles de réunion.
    Elle contient une table "calendrier" où sont stockées les plannings
    d'occupation des salles.
    La table calendrier contient (entre autre) :
    => une référence de salle
    => un champ jours qui est une string de 31 caractères. Chacun des
    caratères représente un des jours du mois (la durée des mois est gérée autre part).
    si le caractère est "0" => salle libre ce jour là
    si le caractère est "1" => salle occupée ce jour là.

    Ma question est la suivante :
    Je souhaite interroger la base pour savoir quelles sont les salles libres entre entre deux dates
    => je génère automatiquement une variable chaine "jourrecherche" contenant la chaine recherchée.
    Si par exemple je veux rechercher les salles disponibles entre le 2 et le 10 du mois
    => ce qui équivaut au trouver les enregistrement dont
    le champ jours est : x000000000xxxxxxxxxxxxxxxxxxxxx
    le "x" indiquant que la valeur du caractère m'est égale,
    En partant du principe que le caractère "joker" du like est "_", je génère la chaine suivante :
    $jourrecherche="__________000___________________"
    Mais lorsque j'essaye d'utiliser la variable "jourrecherche" dans ma requete
    sql, cela ne fontionne pas :-/
    J'ai testé les requètes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jourrecherche="__________000___________________"
    $query='select * from calendrier where jours like '.$jourrecherche;
    $result = mysql_query($query) ;
    et aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query='select * from calendrier where jours like "'.$jourrecherche.'"';
    Je ne sais pas si la différence entre les simples et les doubles cotes est
    très visibles, donc voici en "texte" :
    double cote, simple cote, $jourrecherche, simple cote, double cote, simple cote

    Les deux exemples ci-dessus ne fonctionnent pas... Avez-vous un conseil?

    Merci pour votre aide,
    Cordialement,

    -Xirom-

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Je te conseille de faire un echo $query et de regarder ce que php envoie au serveur mysql.
    Voire de récupérer cela par copier-coller et de le tester avec PMA.
    Je pense que tu dois inverser l'utilIsation des quotes et des guillemets, je ne crois pas que MySQL apprécie beaucoup les valeurs entre guillemets.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Et comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      $query = 'SELECT * 
                FROM calendrier 
                WHERE jours LIKE \'' . $jourrecherche . '\'';
     
      //-- ou bien 
     
      $query = "SELECT * 
                FROM calendrier 
                WHERE jours LIKE '$jourrecherche'";  
    ?>

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 16
    Par défaut ça marche!!!
    Bonsoir,

    Merci pour vos réponses!!!
    ça marcher nickel!

    A+

    -Xirom-

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

Discussions similaires

  1. Syntax setTimeout avec variable.
    Par defacta dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/08/2009, 15h14
  2. Syntaxe de concaténation dans un LIKE avec variable
    Par pasc06 dans le forum Langage
    Réponses: 5
    Dernier message: 28/12/2008, 16h55
  3. [1.x] Syntaxe d'une requete sql like avec variable
    Par Ryo_Saeba dans le forum Symfony
    Réponses: 2
    Dernier message: 15/04/2008, 15h32
  4. clause like avec variable
    Par youp_db dans le forum SQL
    Réponses: 6
    Dernier message: 11/06/2007, 09h40
  5. [tuning] like avec variable
    Par batin dans le forum Oracle
    Réponses: 21
    Dernier message: 21/03/2006, 16h12

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