Vérification si un item existe dans ma bdd

Docxell
Invité n'ayant pas de compte PHPfrance

21 janv. 2013, 19:45

Bonsoir à tous!

Voilà j'ai un souci de compréhension..

J'ai une base de donnée qui contient trois tables:
-produits (id | produit | prix | id_Type | id_Marque)
-types (id | type)
-marque (id | marque)

Je suis en train de créer un fonction, qui à partir d'un array contenant ces diverses informations, vérifie si le produit et son prix existe, si ce type existe et si cette marque existe.

Mais je bloque sur la syntaxe mysql que j'envoie. Je ne comprend pas bien ce qu'elle me renvoie, pourquoi, ect..

La voici:
SELECT p.produit produit, t.type type, t.id type_id, m.marque marque, m.id marque_id, p.prix prix 
FROM produits p 
JOIN types t ON id_Type = t.id 
JOIN marques m ON id_Marque = m.id 
WHERE p.produit='".addslashes(trim($values['produit']))."' 
AND p.prix='".addslashes(trim($values['prix']))."' 
OR m.marque='".addslashes(trim($values['type']))."' 
OR t.type='".addslashes(trim($values['marque']))."';
J'aurais voulu savoir:
-Si le produit (donc produit+prix+type+marque) existe oui ou non,
-Si il n'existe pas, est ce que la marque existe? est ce que le type existe ? pour ne pas faire de doublons. J'insert ou pas les éléments, je reprend leurs id et je les met dans id_Marque et id_Type lorsque que j'insert un nouveau produit.

Mais vu que je ne comprend pas bien ce que la requête me renvoie, j'ai des erreurs d'index quand j'essaye d'accéder au contenu de la requête etc..

J'espère ne pas trop manquer de clarté..

Merci pour votre aide :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 janv. 2013, 13:09

salut,

ta requête fait la recherche strict donc si le quadruplet existe tu aura un retour sinon tu n'aura rien.

pour le reste fait autant de requête que tu a besoin (sur chaque table).

après tu peux essayer avec des jointures externe mais tu va avoir un tas de données pas forcément cohérente ;)

@+
Il en faut peu pour être heureux ......