Autor Zpráva
jefitto44
Profil
Mám MySQL tabuľku, v ktorej ukladám výrobcov, aj série. Viď obr. http://i59.tinypic.com/2ibhuoi.png

Funguje to tak, že ak je predposledny sltpec manufacturer_id, tak ide o výrobcu, ak je tam serie, tak ide o sériu daného výrobcu... pri sérií je tiež zapísaný posledný stlpec, ktorý obsahuje idčko výrobcu. Teda v obrázku je vyznačené, že séria Tour De France 56 patrí k výrobcovi Festina, lebo festina má idčko 26 a Tour de France má posledný stlpec tiež 26, podľa toho sa to teda radí, že ktorému výrobcovi ktorá séria patrí.

Ja teraz potrebujem urobiť select (html), ktorého options by obsahovali všetky série, ktoré sú v databáze a k tomu by vypísalo, že ktorý výrobca ktorú sériu vyrába...

$sql="SELECT * FROM filter WHERE product_col='serie'";
mysql_query(...);
while(...) {
echo '<option value="'.$premenna[filter_id].'">'.$premenna[name] [TU DO ZATVORKY CHCEM VYPISAŤ VYROBCU].'</option>';
}

Vie mi niekto pomôcť, ako upraviť ten select, aby to fungovalo tak ako potrebujem? Ďakujem pekne
mimochodec
Profil
Mas spatne navrzenou databazi. Napis o tom trochu vic a dostanes konkretnejsi radu. Ale jsem si skoro jist, ze nad takto organizovanymi daty to rozchodit nepujde.
jefitto44
Profil
Nepojde to nijako vybrať hej? Ja som rozmýšľal, že by som to vedel iba verbálne vybrať, to jest iba slovne:

Vyber všecko z tabuľky filter, kde product_row je serie k tomu vyber všetko z tabuľky filter, kde product_row je manufacturer_id a zaroveň serie_id je filter_id danej serie

Len teraz to nejako zapísať do reči zrozumiteľnej mysql
yFang
Profil
jefitto44:
Nevím, jak máš pojmenovanou tabulku a sloupce, product_col_id je ten poslední:
SELECT T1.*, T2.name AS manufacturer FROM table_name AS T1 LEFT JOIN table_name AS T2 ON T1.product_col_id = T2.id WHERE T1.product_col='serie'
jefitto44
Profil
Tabuľka sa volá ".TABLE_PREFIX."filter
stlpce:
filter_id
name
name_seo
product_row
manufacturer_id (tento stlpec je vyplnený iba u sérií, inde je NULL)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0