Autor | Zpráva | ||
---|---|---|---|
Rafan Profil |
#1 · Zasláno: 10. 4. 2011, 12:56:18
Dobrý den,
vytvořil jsem si tabulku tht_videa a tht_kategorie a potřeboval bych tyto 2 tabulky spojit aby se mi na webu např. když dám kategorii "zábavná" zobrazovaly pouze videa, které jsou v kategorii "zábavná". Vytvořil jsem si toto akorát nevím jestly to má s tím co chci alespoň něco společného. $result = mysql_query("SELECT id_kategorie, titlulek FROM tht_videa LEFT JOIN tht_kategorie on zábavná = id_kategorie"); Předem děkuji za pomoc. |
||
pcmanik Profil |
#2 · Zasláno: 10. 4. 2011, 13:12:13
Rafan:
Keby si to vyskusal? Snad to nebudeme robit za teba. |
||
Rafan Profil |
#3 · Zasláno: 10. 4. 2011, 19:40:53
No právě že to nefunguje.
|
||
Keeehi Profil |
#4 · Zasláno: 10. 4. 2011, 20:34:37
Rafan:
Dodej strukturu tabulek a vazby mezi nimi (který sloupec v jedné tabulce je shodný se sloupcem v druhé tabulce). Pak se můžeme o něčem bavit. |
||
Rafan Profil |
#5 · Zasláno: 10. 4. 2011, 21:52:17
Mám tabulku - tht_kategorie - id_kategorie, zábavná atd.. a pak tht_videa - id_kategorie, titulek, popis...
|
||
Keeehi Profil |
#6 · Zasláno: 10. 4. 2011, 23:40:01
Pořád to nemohu pochopit. Asi budete mít špatně navrženou tabulku, takže vám uvedu příklad, jak by to mohlo vypadat.
tht_videa id_video | titulek | popis -------------------------- 1 | Pes | Pes co dělá neuvěřitelné kusy. 2 | Nehoda | Velká automobilová nehoda na americké dálnici. 3 | Blondyna| Opravdu neschopná blondýna. tht_kategorie ------------- kategorie | id_video zábava | 1 zábava | 3 auta | 2 bouračky | 2 Dotaz pro vybrání videí z kategorie zábava by vypadal takto: SELECT tht_videa.id_video, tht_videa.titule, tht_videa.popis FROM tht_kategorie INNER JOIN tht_videa ON tht_kategorie.id_video = tht_videa.id_video WHERE tht_kategorie.kategorie = "zábava"; |
||
Rafan Profil |
#7 · Zasláno: 11. 4. 2011, 14:45:52
Dobrý den,
teď jsem to v rychlosti dodělal podle vašeho návodu a vypadá to že to funguje. Mockrát děkuji. Kdyby něco ještě sem napíšu. |
||
Rafan Profil |
#8 · Zasláno: 11. 4. 2011, 15:34:55 · Upravil/a: Rafan
Dobrý den,
Mám ještě dotaz t videa můžou být ve více kategorích bude to fungovat? Díky. EDIT: Ještě jsem si všiml že se mi vypisuje pouze řádek co má id_videa - 1 akorát já tam těch videí budu potřebovat více než jen 1. Nevíte v čem může být chyba?. Díky. |
||
Kajman_ Profil * |
#9 · Zasláno: 12. 4. 2011, 08:47:01
Rafan:
„Mám ještě dotaz t videa můžou být ve více kategorích bude to fungovat?“ Ano. „Nevíte v čem může být chyba?“ Nevíme. Možná jen nemáte i jiná videa přiřazena přes tabulku tht_kategorie do hledané kategorie, ale můžete mít chybu i jinde. |
||
Rafan Profil |
#10 · Zasláno: 12. 4. 2011, 11:16:13
Jo takhle, takže když vkládám ňáký to video tak musim vložit řádek zase s tou kategorií?
|
||
Kajman_ Profil * |
#11 · Zasláno: 12. 4. 2011, 11:18:19
Tolik řádků, do kolika kategorií patří.
|
||
Rafan Profil |
#12 · Zasláno: 12. 4. 2011, 11:41:25 · Upravil/a: Rafan
Takže pokud budu mít 10 videí (zábavných) tak v tht_kategorie bude 10x řádek zábavná?
|
||
Keeehi Profil |
#13 · Zasláno: 12. 4. 2011, 22:24:32
Rafan:
Ano. V každém řádku bude id toho videa. |
||
Rafan Profil |
#14 · Zasláno: 13. 4. 2011, 14:26:02
OK, ale když ty videa vkládám přes administraci můžu nějak zaručit že to video s tou kategorií kterou jsem pro něj vybral bude mít stejné id_video?
|
||
Kajman_ Profil * |
#15 · Zasláno: 13. 4. 2011, 14:45:00
Po vložení zjistíte, jaké id video dostalo a to použijete pro uložení kategorií.
mysql_insert_id() |
||
Rafan Profil |
#16 · Zasláno: 13. 4. 2011, 14:51:48
takže to budu muset pak v databázi ručně nastavovat id? Pokud teda nedostane kategorie a video stejné.
|
||
Keeehi Profil |
#17 · Zasláno: 13. 4. 2011, 15:22:45
Rafan:
Nejdříve script vloží video do db. Pak si pomocí mysql_insert_id() zjistí id toho videa a použije ho v insertu do tabulky kategorií. |
||
Kajman_ Profil * |
#18 · Zasláno: 13. 4. 2011, 15:27:49
Musíte znát primární klíče kategoríí, do kterých se má video vložit.
Vložíte video, hned poté zjistíte nově získaný primární klíč videa. A do vazební tabulky přidáte tolik dvojic (řádků), kolik je těch primárních klíčů kategorií. Přečtěte si např. http://www.kosek.cz/clanky/iweb/12.html - hlavně vztah M:N, o který se snažíte. Nebo si rovnou zajděte do knihkupectví a investujte do nějaké knihy o relačních databázích, pokud to s nimi myslíte vážně. |
||
Rafan Profil |
#19 · Zasláno: 13. 4. 2011, 15:31:46
OK díky moc. O knize jsem taky přemýšlel nemáte nějaké doporučení na knihu? Díky.
|
||
Časová prodleva: 13 let
|
0