Recherche dans une Base De Donnée SQL
Résolu
Exileur
Messages postés
1621
Date d'inscription
Statut
Membre
Dernière intervention
-
SOONA -
SOONA -
Bonjour à tous,
Je souhaite effectuer une recherche dans une base de donnée :
La variable marque contient deux marques, HP et Compaq.
La colonne marque contient soit HP soit COMPAQ.
Je souhaite que la requéte me trouve toutes les piéces qui soit de marque HP ou Compaq.
J'ai bien essayer d'utiliser la fonction LIKE mais je n'ai pas reussi a obtenir le résultat voulu. Surment je ne n'utilise pas de la bonne façon.
$piece = "cm";
$marque = 'HP/COMPAQ';
$query = "SELECT * FROM ".$piece."
WHERE marque LIKE '%".$marque2."'%";
Merci pour votre aide.
Cordialement
Exileur
Je souhaite effectuer une recherche dans une base de donnée :
La variable marque contient deux marques, HP et Compaq.
La colonne marque contient soit HP soit COMPAQ.
Je souhaite que la requéte me trouve toutes les piéces qui soit de marque HP ou Compaq.
J'ai bien essayer d'utiliser la fonction LIKE mais je n'ai pas reussi a obtenir le résultat voulu. Surment je ne n'utilise pas de la bonne façon.
$piece = "cm";
$marque = 'HP/COMPAQ';
$query = "SELECT * FROM ".$piece."
WHERE marque LIKE '%".$marque2."'%";
Merci pour votre aide.
Cordialement
Exileur
4 réponses
-
Essais ça:
$piece = "cm"; $marque1 = 'COMPAQ'; $marque2 = 'HP'; $query = "SELECT * FROM ".$piece." WHERE marque LIKE '%".$marque1."'%" or marque LIKE '%".$marque2."'%";
-
J'ai bien penssé à cette solution mais la variable marque est selectionner dans un formulaire.
Elle peux donc avoir pour valeur Acer, Apple, MSI ou autre.
J'ai penser à une recherche ou la collone contient au moins deux des caractéres de la variable mn'ai rien trouver de concluant.arque. Mais je -
dans ce cas remplace le slash '/' par la virgule ',' et essais ceci:
where marque in(".$marque2.");-
j'ai inserrer la commande comme ceci dans le code
WHERE marque in( ' ".$marque." ');
Quand $marque vaut "HP,COMPAQ", aucune réponse,
Quand $marque vaut " HP','COMPAQ " j'ai un resultat avec la magnifique erreur
"Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\gestion\form\form_model.php on line 21"
$query = "SELECT DISTINCT model FROM ".$piece." WHERE marque='".$marque."'";
$result = mysql_query($query);
$Nombre = mysql_num_rows($result); //(ligne 21)
Dois-je echaper la variable avant de la réutiliser ? -
-
Je ne sais pas si vous l'avez déjà fait mais Puisque les marques sont de type String vous devriez les mettre entre la cote. si je prends votre code je peux le modifier comme ceci:
$piece = "cm"; $marque = " 'HP','COMPAQ' "; // Modifié $query = "SELECT * FROM ".$piece." WHERE marque in( ' ".$marque." ');
-
-
-
-