Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 16. 1. 2009, 18:00:53
Zdravím Vás. Pomůžete mi prosím sestavit dotaz na DB ? Logicky má vypadat takto:
"Vyber všechny reference jednoho typu a v jednom jazyce + ke každé vybrané referenci zahrň všechny dostupné informace ze všech 3 tabulek" pro 2 tabulky (když jsem ještě neměl tabulku pro reference_translations - všechny texty byly v tabulce reference_list - mi fungoval dotaz (co je kurzívou, to už jsem přidal a zatím nevím jak dál): $res=query("SELECT * FROM ".$tbl_prefix."reference_list, ".$tbl_prefix."reference_types, ".$tbl_prefix."reference_translations WHERE ".$tbl_prefix."reference_list.type_id = ".$tbl_prefix."reference_types.id AND ".$tbl_prefix."reference_types.id='1'"); poslední AND jsem měl původně ".$tbl_prefix."reference_list.type_id='1'" - nevím co mi to udělá, když to změním tabulky jsou přes id provázany nějak takto: reference_types id ref_type_name (nepřekládá se, jen pro interní potřebu - ale chtěl bych to zahrnout do výpisu) reference_list id type_id (FK) prvni_sloupec (nepřekládá se, ve výpisu samozřejmě bude) druhy_sloupec (nepřekládá se, ve výpisu bude) images atd. reference_translations id ref_id (FK) lang_id (FK) prvni_text druhy_text atd. |
||
Mufna Profil |
#2 · Zasláno: 16. 1. 2009, 23:42:45
Tak jsem si ten dotaz nakonec nějak zpytlíkoval. Ale chtěl bych ještě ošetřit situaci, že když k dané referenci neexistuje žádný jazykový překlad, aby se alespoň zobrazily základní údaje (které se nepřekládají) z tabulky reference_list. V mé současné verzi dotazu je to tak, že když neexistuje překlad v tabulce reference_translations, tak se nic nezobrazí.
SQL: $res=query("SELECT * FROM ".$tbl_prefix."reference_list, ".$tbl_prefix."reference_types, ".$tbl_prefix."reference_translations WHERE ".$tbl_prefix."reference_list.type_id = ".$tbl_prefix."reference_types.id AND ".$tbl_prefix."reference_translations.ref_id = ".$tbl_prefix."reference_list.id AND ".$tbl_prefix."reference_translations.lang_id = '".$_SESSION['lang_code']."' AND ".$tbl_prefix."reference_types.id='1'"); |
||
Časová prodleva: 15 let
|
0