requete sur deux tables et meme champ

Eléphant du PHP | 123 Messages

18 mars 2012, 01:17

bonsoir a tous

j ai une requete que je souhaiterai effectuer sur deux tables,en faite si y a deux requetes cela met egal a partir du moment que je recupere le resultat
je m explique
j ai la table product et la table product1
les 2 sont quasi identique a part l id et les prix
en faite je souhaite faire une comparaison de prix pour faire prix en hausse et pris en baisse

ma requete etait au debut comme ceci
<?php
$requete = "SELECT* ,round((net_ttc * 1.622),2) as net FROM product
                          where _ID='".$_GET['ID']."'";
                          
        $resultat = mysql_query ($requete);
        $tempo = mysql_fetch_assoc($resultat);
	$prix=$tempo['net'];
        $ID = $_GET['ID'];

        echo $prix;
        echo(' et ');
        echo $ID;
 ?>
ceci m affiche bien le resultat de product mais je sais pas comment recuperer le prix de product1
etant donner que la table quasi similaire je sais pas comment m y prendre avec le get ID

j espere que vous m aurez compris dans ma demande et que vous pouriez m aider

merci d avance

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

18 mars 2012, 10:52

Salut,

Quel est le point commun entre les table t'assurant de pouvoir comparer le même article (cela devrait l'id ou un équivalent comme l'isbn des livres, ou tout simplement le code barre.

Avec cet élément tu peux faire une jointure entre les tables.
Vue qu'a priori tu a des noms de champs identique il faut que tu donne un alias aux table (et pourquoi au champs pour s'y retrouver)
Par exemple
select t1.prix as prixt1 , t2.prix as prixt2 from table1 t1
join table1 t2 on t1.truc=t2.truc;

Avec ça tu récupère prixt1 et prixt2.

Avec ça tu aura les prix correspondant.
Attention surtout pas de select * sinon tu va mettre le brin dans le truc.

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

Eléphant du PHP | 123 Messages

18 mars 2012, 11:07

merci pour la réponse

j ai effectivement vu sur divers forum l histoire de jointure

en faite la difference qui peut y avoir c est le prix des article et la ou j ai buté justement c est les id car y a un decalage entre les deux table
par exemple l article carte son x avec un id 6 sur product se retrouvre en id 8 sur product1

je peu donc pas me fier aux id!! j avais reussi a recuperer des données mais le prix collais pas justement a cause de mon decalage des id

ViPHP
xTG
ViPHP | 7331 Messages

18 mars 2012, 11:33

Si tu as une non correspondance des ID il serait bon de créer une table de jointure remplie dans ton cas manuellement.
Cela te permettra d'avoir ta correspondance à disposition.

Eléphant du PHP | 123 Messages

18 mars 2012, 11:47

bonjour, manuellement je sais pas comment je vais proceder y a plus de 5000 articles 8-| que voulais tu dire par la?

Mammouth du PHP | 1967 Messages

18 mars 2012, 11:51

Il te faut un lien entre tes deux bases, il te proposait de faire une table qui relie les id de tes 2 tables.

Soit tu as encore d'autre champs qui sont semblable, et tu peux tenter un script qui créera ta table, mais sinon, seul un humain connaissant ces produits (toi) peux voir les liaisons à faire.

N'ayant pas la structures complètes de tes tables, ni une idée de leur contenu on ne sait pas beaucoup t'aider. Peut être est-ce juste un décalage d'id, dans ce cas tu peux facilement t'en sortir
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 123 Messages

18 mars 2012, 11:56

oui merci a tous pour vos réponses, je vais voir avec la jointure et le point commun comme la ref de l article je pense que celle si ne bouge pas