MySQL-Problem

das geht auch nicht in einer tabelle ;)
wie waers mit einer tabelle mit artikeln,
dann eine tabelle mit geschaeften und eine mit preisen zu einem artikel in einem geschaeft ?
in etwa so:

artikel
----------
artikel_id
beschreibung
u.s.w.
----------

geschaeft
----------
geschaefts_id
beschreibung
adresse
telefonnummer
u.s.w.
----------

preise
----------
artikel_id
geschaefts_id
preis
----------

so kannst du beliebig viele zuordnungen und vergleiche (groesster preis, kleinster preis, artikel kostet durchschnittlich, blah bla ;)) realisieren.
 
so hab jetzt 3 tables erstellt, wies gecko gesagt hat
hab das txt-file mit der struktur und den daten an diesen post angehängt
wie muss die abfrage lauten, wenn ich den artikel 1 mit allen 3 preisen + dazugehörigen geschäften ausgeben lassen will, wobei der billigste preis (von spalte preis_neu) als erstes stehen soll?
 
du joinst die 3 tabellen anhand der artikel_id und der gaeschaefts_id
so in etwa:

PHP:
$sql = "
SELECT
a.beschreibung as artikel_beschreibung,
g.beschreibung as geschaefts_beschreibung,
p.preis
FROM
artikel as a,
geschaeft as g,
preise as p
WHERE
a.artikel_id=1
AND
a.artikel_id=p.artikel_id
AND
g.geschaefts_id=p.geschaefts_id
ORDER BY p.preis ASC";

musst du jetzt nur noch an deine spaltennamen anpassen, die hab ich mir jetzt nicht wirklich angeguckt ;)
 
RTFM ;)
das ist eine umbenennung der tabellen, bzw. spalten, da man ja fuer gewoehnlich schreibfaul ist...

tabelle as neuer_tabellen_name_der_meistens_schoen_kurz_ist_damit_man_nicht_soviel_tippern_muss ;)

oder auch zum umbennen von spalten, da einige aus verschiedenen tabellen auch mal gleich heissen koennen wie z.b. beschreibung. und die kannst du sonst nicht ordentlich rausholen ...
 
wenn ich in den tables "artikel" und shop" eine spalte hab die "name" heißt und ich schreib "na AS name" wie weiß dann das script welche spalte "name" umbenannt werden soll?
 
RTFM ! ;)
das script weiss garnichts...
du weisst, das die spalte jetzt in dem query und im ergebnis anders heisst und so kannst du die auch ansprechen.

PHP:
$sql = "SELECT blah as wurst FROM tabelle";
//mysql_query ... fetch, u.s.w.
echo $row['wurst'];
 
leider gibts ein problem

es wird nur der artikel mit id 1 angezeigt und zwar 3 mal ich will aber dass 3 mal shop + preis dort stehen und nicht alles

hier seht ihr was ich mein: http://nfs6.gameszone.de/nicole/aktion.php?rubrik=cd

so sollte es sein:
3 verschiedene artikel - wenn man auf den link klickt kommt man zur seite mit den preisen des jeweiligen artikels
dort sollen dann 1 mal "Die 3 billigsten Angebote für blablabla:" stehen und 3 geschäfte mit preisen

den quellcode der aktion.php hab ich angehängt

ich hoffe, ihr könnt mir da helfen
 

Anhänge

Wah, shiet! Gecko war schneller :)
- Die 3 billigsten Angebote für blablabla
kriegst du hin, wenn du das echo außerhalb der while-schleife schreibst, also davor.
jedesmal wenn die schleife durchlaufen wird (also 1 mal pro zeile = summasumarum gesamtzeilenzahl)steht das sonst da.

$?#éí§ë, bin übermüdet.
 
Zuletzt bearbeitet:
Zurück