IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Výpis z více tabulek v MySQL

Aktivity
Avatar
pgarsky
Člen
Avatar
pgarsky:20.11.2018 9:52

Zdravím všechny,
z jedné tabulky jednoduše vypisuji názvy zvirat do HTML table thead a ze druhé vypisuji jejich vlastnosti do tbody podle jejich ID z té první.
Např: v první tabulce zvířata jsou názvy: kočky, psi a želvy s ID: 1, 2 a 3.
Ve druhé tabulce vlastnosti_zvirat jsou vlastnosti: skáče, běhá, spí s ID zvířat: 1, 2 a 3.

Chci docílit: Jak byste udělali výpis z těchto tabulek z MySQL za pomocí funkcí mysqli tak, aby se data z obou řadila pod sebe tak, jak k sobě patří?
(Ano, vím, že používat funkci mysqli je nepraktické, ale v tomto případě je použít musím.)

Odpovědět
20.11.2018 9:52
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.11.2018 10:43

Neni mi moc jasne, jak to mas ulozene. Asi nejak nelogicky.

SELECT sloupec5, sloupec2 FROM tabulka

Vyberes data z 2d tabulky. Zformatujes do tbody. A z prvniho sloupce navic vygenerujes zahlavi pres nejaky prekladac (funkce, ktera priradi nazvu sloupce podle db nejaky cesky nazev, pripadne dalsi vecicky jako tlacitka pro serazovani a pod).

Tva otazka nedava moc smysl, kdyz se ptas, jak mit spravne poradi sloupcu v zahlavi vuci body. Poradi bude vzdycky spravne, protoze ho ziskavas primo z tabulky, sql dotazu pro tbody.

Nebo, pokud tedy mas ty nazvy take v db, tak tam mas nejspis definovane poradi sloupcu ve sloupci order. Pak das jen do sql dotazu "SELECT ... ORDER by tab.order".
Urcite by mne napadlo dalsich X zpusobu i bez toho order, ale nechce se mi premyslet na vsemi moznostmi, kdyz nemam tuseni, jakou moznost tam mas zrovna ty.

 
Nahoru Odpovědět
20.11.2018 10:43
Avatar
pgarsky
Člen
Avatar
Odpovídá na Peter Mlich
pgarsky:20.11.2018 11:46

Já mám 2 tabulky. A z první vypisuji názvy a ze druhé vlastnosti podle ID názvů v té první.

Editováno 20.11.2018 11:46
Nahoru Odpovědět
20.11.2018 11:46
Pokud ti něco jde těžko, znamená to, že jdeš tou správnou cestou...
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.11.2018 15:36

Aha. A proc tedy nemas 3?

nazvy (id_nazvy , nazev)
vlastnosti (id_vlastnosti, nazev)
spoj (id_nazvy, id_vlastnosti)

SELECT b.nazev, c.nazev
FROM spoj a
  LEFT JOIN nazvy b ON b.id_nazvy=a.id_nazvy
  LEFT JOIN vlastnosti c ON c.id_id_vlastnosti=a.id_id_vlastnosti

Jestli to potrebujes tridit do jedne obri tabulky, tak bych tam dal id a vytridil to v php.
A nebo bys asi musel pouzit group. To bych nechal na nekom jinem, kdo to vic pouziva.
Nebo pro kazdou kategorii (sloupec zahlavi) zvlast dotaz s WHERE

Editováno 20.11.2018 15:37
 
Nahoru Odpovědět
20.11.2018 15:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.