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 :
et aussi :
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) ;
Je ne sais pas si la différence entre les simples et les doubles cotes est
Code : Sélectionner tout - Visualiser dans une fenêtre à part $query='select * from calendrier where jours like "'.$jourrecherche.'"';
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-
Partager