Tre SQL request - LEFT JOIN?

Tags:    php mysql leftjoin

Hej Udviklere.

Hermed en lille opgave. Jeg er ved at udvikle et lille online aktions-system til et lille økonomiprojekt jeg arbejder på.

Jeg har i en MySQL database to tabeller: auctions og users.

Tabellerne ser således ud.
Fold kodeboks ind/udSQL kode 


Fold kodeboks ind/udSQL kode 


Se, når en bruger "buy out'er" en aktion, skal der trækkes data ud fra begge tabeller. Jeg har læst frem og tilbage, og er kommet frem til, at jeg skal bruge LEFT JOIN her.

Der skal trækkes information ud fra table(auctions) og tabe(users):
Systemet skal ud fra aktions ID'et ($_GET[aid"]) trække data ud af:
auctions - selve aktionen
users - både information om køber og sælger

Jeg har siddet og arbejdet med det, i et par dage nu og kan simpelthen helt se, hvordan jeg på en optimal måde kan lave tre forskellige SQL-requests. Jeg kan selvfølgelig godt lave tre individuelle requests, men min sunde fornuft siger mig, at dette ikke er den optimale måde at gøre det på :)

Jeg vil høre, om i har et godt bud på, hvordan jeg kan programmere scriptet?



3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hej Ray.

Ud fra dit aid kan man trække title, price, seller_id fra auctions - og ud fra seller_id kan man trække email, credit fra users.

Det er simpelt nok - og det har du nok heller ikke problemer med.

Fold kodeboks ind/udSQL kode 


Det jeg ikke helt kan se er hvordan du finder id på brugeren som vil købe - hvordan gør du det?

Skal du ikke have en tabel til at registrere bud fra købere?

Der er store huller i sammenhængen, og jeg forstår ikke helt hvad det er du vil spørge om.

Hvad mener du egentligt?



Hej Jonathan,

Tusind tak for svar, so far!

Køberens ID er gemt i en session, så derfra henter jeg dét.

Mit spørgsmål går på, hvordan jeg ud fra aktions ID ($_GET["aid"]) og køberens id ($_SESSION["id"]) kan hente oplysninger fra tre forskellige tabeller i én query.



Men du viser kun 2 tabeller ...



t