Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/04/2011, 23h32   #1
Invité de passage
 
Inscription : juillet 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 10
Points : 0
Points : 0
Par défaut Requete selon criteres

Bonsoir,

J'ai un site ou mes client peuvent créer des alertes et dès qu'un produit correspondant à leurs critères est déposé, ils reçoivent un email.

La table qui stocke les alertes est composée de cette façon:

id | categorie_id | couleur_id | taille_id
1 2 5 2
2 0 5 0
3 5 0 0


Je souhaite que lors du dépôt d'un nouveau produit par un client, une requête soit lancée pour sélectionner toutes les entrées qui correspondent aux critères du produit déposé (couleur, taille, catégorie, etc..)

Un petit exemple sera plus parlant:

Un client dépose un objet dans la catégorie "chaussures", de couleur "bleu" et de taille "44"

Résultat = envoyer un mail aux personnes ayant créer l'alerte (j'utilise les id) : categorie = chaussure, couleur = "bleu" mais aussi à ceux qui ont juste précisé la catégorie "chaussure" ou la couleur "bleu".
Par contre un enregistrement avec chaussure | rouge ne recevra pas le mail.

Une aide est la bienvenue car je ne vois pas comment aborder ce problème.
Augustule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h36   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
quelques jointure et ça roule mais il faudrait que tu montres la structure de tes tables categorie couleur et taille
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h50   #3
Invité de passage
 
Inscription : juillet 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 10
Points : 0
Points : 0
Je n'ai pas besoin de jointure en fait, je vais juste récupérer tous les enregistrements qui "match" avec les paramètres (id couleur, id categorie, etc..) de l'article déposé.

Ma table alertes est composée de cette façon :

Code :
1
2
3
4
id  |   categorie_id    |   couleur_id   |  taille_id
1              2                    5                2
2              0                    5                0
3              5                    0                0
Donc si le nouvel article déposé contient les paramètres suivants:
categorie = 5, couleur = 5, taille = 2

Alors:
Enregistrement 1 = faux (condition des 3 params non remplie)
Enregistrement 2 = vrai (car couleur = 5)
Enregistrement 3 = vrai (car categorie = 5)
Augustule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h04   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
en reprenant cet exemple :
categorie = 5, couleur = 5, taille = 2

Code :
select id from alertes where categorie_id  = 5  or  couleur_id  = 5  or taille_id = 2
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h26   #5
Invité de passage
 
Inscription : juillet 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 10
Points : 0
Points : 0
Citation:
Envoyé par boo64 Voir le message
en reprenant cet exemple :
categorie = 5, couleur = 5, taille = 2

Code :
select id from alertes where categorie_id  = 5  or  couleur_id  = 5  or taille_id = 2
Non car l'enregistrement 1 doit retourner faux car dans son alerte, le client à choisit d’être prévenu si (et seulement si) :
categorie = 2, couleur = 5, taille = 2
Augustule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h34   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Autant pr moi je n'avais pas vus les zeros ..

Code :
1
2
 
select id from alertes where (categorie_id = 5 or  categorie_id = 0) and (couleur_id = 5 or couleur_id = 0)  and  (taille_id = 2 or taille_id = 0)
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/04/2011, 21h32   #7
Invité de passage
 
Inscription : juillet 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 10
Points : 0
Points : 0
Bah oui c'était tout bête !

Merci mon ami...
Augustule est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h56.


 
 
 
 
Partenaires

Hébergement Web