PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-06-2010 12:45:46

winath
Membre
Inscription : 08-06-2010
Messages : 5

Aide requête

Bonjour à tous,

je debute en programmation et j'arrive pas à trouver la solution à mon problème :
je veux faire en PHP Mysql une requête qui cherche les même champs (5 exactement) dans la première table et si elle les trouve pas elle passe en deuxieme table ...)
Quelqu'un peut  m'aider ..

Merci d'avance .
Winath

Dernière modification par winath (08-06-2010 12:46:33)

Hors ligne

#2 08-06-2010 12:49:07

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Aide requête

C'est donc la condition pour passer à la seconde table qui te pose problème ?
La première requête renvoie soit ce que tu souhaites soit un nombre nul d'enregistrement (dans le cas ou ce que tu cherches se trouve dans la seconde table) donc tu devrai utiliser la fonction mysql_num_rows() qui permet de retourner le nombre d'enregistrement retourné par une requête.
Et dans le cas où le résultat est 0 tu exécutes ta seconde requête sur la seconde table.

Hors ligne

#3 09-06-2010 10:41:10

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide requête

Saluton,
Plus simple, tu fais deux requêtes en UNION sur les deux tables, si tu ne précises pas ALL, UNION dédoublonne les lignes.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 12-06-2010 10:42:39

winath
Membre
Inscription : 08-06-2010
Messages : 5

Re : Aide requête

Merci pour votre réponse le "UNION" marche super bien smile
Par contre, j'ai un autre dilemme preque avec la même nature :
Je veux  récupérer dans 2 tables les mêmes champs sauf un (chaque table a son propre champs "devis")

table 1         table 2
A                 A
B                 B
C                 C
D                 E

Voila je veux afficher :

| A | B | C | D | E |
----------------------
|    |    |     |    |    |

Merci d'avance

Hors ligne

#5 13-06-2010 08:58:48

winath
Membre
Inscription : 08-06-2010
Messages : 5

Re : Aide requête

Aidez moi SVP !

Hors ligne

#6 14-06-2010 07:31:42

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : Aide requête

1. ce n'est pas en mendiant que tu auras ta réponse plus facilement !!! Au cas où tu ne le saurais pas, nous sommes bénévoles et nous aussi, on a droit d'être en week-end !!! (surtout le dimanche à 10h !!!! et la grasse mat dans tout ça)

2. regarde du coté des "INNER JOIN"


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#7 14-06-2010 10:17:48

winath
Membre
Inscription : 08-06-2010
Messages : 5

Re : Aide requête

Ok Merci smile

Hors ligne

#8 14-06-2010 10:43:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide requête

winath a écrit :

Merci pour votre réponse le "UNION" marche super bien smile
Par contre, j'ai un autre dilemme preque avec la même nature :
Je veux  récupérer dans 2 tables les mêmes champs sauf un (chaque table a son propre champs "devis")

table 1         table 2
A                 A
B                 B
C                 C
D                 E

Voila je veux afficher :

| A | B | C | D | E |
----------------------
|    |    |     |    |    |

Merci d'avance

Si chaque table a sa colonne `devis`cela ne doit pas poser grand problème à SQL via UNION.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 14-06-2010 13:12:23

winath
Membre
Inscription : 08-06-2010
Messages : 5

Re : Aide requête

justement le champs devis de la table 1 est different de celui de la table 2
Devis_HS  et Devis_litige ....
et sinon les autres champs sont identiques : A, B, C dans les deux  tables 
j'ai deux table : HS et litiges pour chaque table jai un devis
je veux avoir par exemple :
immatriculation , marque , modele, devis_hs, devis_litiges
sachant que une immat (véhicule) peut exister dans les deux tables ou dans une seule table
j'espère que je me suis bien exprimé...

Merci

Hors ligne

#10 15-06-2010 12:37:51

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Aide requête

winath a écrit :

sachant que une immat (véhicule) peut exister dans les deux tables ou dans une seule table
j'espère que je me suis bien exprimé...

Là tu es mal car une jointure interne (INNER JOIN) ne retournera que les lignes présentes dans les deux tables, une jointure externe (OUTER JOIN) LEFT OU RIGHT, ne te retournera que toutes les lignes d'une des tables avec les infos de l'autre quand elles existent, mais pas celles de l'autre table si immat n'existe que dans cette table.
Enfin, UNION ALL va te retourner deux lignes quand immat sera présent dans les deux tables.
Tout cela sent le défaut de conception de la base.
On devrait avoir une table des véhicules et une table des devis. Là, outre la redondance, on galère pour restituer la vue sur le domaine.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums