Vous n'êtes pas identifié(e).
Pages :: 1
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
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
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
Merci pour votre réponse le "UNION" marche super bien
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
Aidez moi SVP !
Hors ligne
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
Ok Merci
Hors ligne
Merci pour votre réponse le "UNION" marche super bien
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 EVoila 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
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
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
Pages :: 1