Autor | Zpráva | ||
---|---|---|---|
lokix Profil |
Zdravím všechny,
mám problém s výpisem vlastností produktů v mysql. Produkty jako takové vypisuji přes 3 tabulky (2 + spojovací) zde problém není, ale nyní sem musel kvůli změně produktů dát další tabulku kde jsou vlastnosti produktu: product_id, name, value a záznamy jsou: 1, určení, dámské; 1, ciferník, analogový; 2, určení, pánské; 2, ciferník, digitální. Jenže nevím jak vypsat tyto hodnoty když vazba na samotný produkt je id - id ale zde je stejných id (vlastností) mnohem víc. Snad jsem to popsal dostatečně a najde se někdo kdo mi pomůže či nakopne. Díky. |
||
tiso Profil |
#2 · Zasláno: 9. 7. 2013, 15:22:33
Všetko záleží od toho, ako chceš tie výsledky zobraziť. Pravdepodobne by bol najlepší druhý select na všetky vlastnosti produktov, ktoré zobrazuješ. Pomohlo by, ak by si uviedol i ten select, čo teraz máš.
|
||
Tori Profil |
#3 · Zasláno: 9. 7. 2013, 16:26:37
lokix:
Koukněte na tento článek: http://php.vrana.cz/srovnani-dotazu-do-zavislych-tabulek.php |
||
lokix Profil |
tiso: Tori:
Předem díky oběma ;) Nakonec jsem to zjednodušil a je jen 1 tabulka:product -> kde je id, www, description, name, kategory a 2 tabulka: product_options -> kde product_id, name, value s hodnotami jako výše. Select tedy na samotný produkt použiju ten základní * na výběr všeho je to málo dat, ale jak zařadit do "řádku" i product_id, name, value viz výše. Tori: Koukal jsem na to co jste mi poslala od Jakuba, ale je to na mě trochu víc než asi zvládnu sám. Pochopil jsem snad to, že by byl nejlepší jeden dotaz, ale ten je dost komplikovaný. |
||
tiso Profil |
#5 · Zasláno: 10. 7. 2013, 15:30:37
lokix: pomôžeš aj ty nám? Síce si uviedol štruktúru tabuliek, ale neuviedol si či vypisuješ jeden produkt, alebo viacero, ani ako chceš aby vyzeral výstup. Nie slovný popis, ale príklad.
|
||
lokix Profil |
tiso:
Omlouvám se nějak mám toho moc a nestihl jsem to. Jedná se o výpis jednoho produktu. Ostatní je zvládnuté. Je to tedy 1 produkt z 1 tabulky -> obecné věci jako jméno, popis, kategorie a k tomu potřebuju dostat ty vlastnosti z 2 tabulky kde jich je 5 i 15. Takže příklad výpisu který chci je: id, www, name, popis, kategorie/product_id, name, value,product_id, name, value, ... (1, hodinky-zelene, hodinky zelené, hodinky pro sportovce, armani, určení, dámské, ciferník, alalogový, ...) |
||
tiso Profil |
lokix: ak môžu byť tie vlastnosti v jednom stĺpci:
SELECT product.*, GROUP_CONCAT(CONCAT(product_options.name, ', ', product_options.value) SEPARATOR ', ') AS properties FROM poduct JOIN product_options ON product.id = product_options.product_id WHERE product.id = 1 -- id produktu ktory vyberas -- GROUP BY product.id -- netreba pre jeden produkt ; edit: oprava CONCATENATE -> CONCAT |
||
lokix Profil |
tiso:
Moc díky zkusil jsem, ale vypisuje mi to divnej error: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in F:\_dev\server2go\htdocs\_www\_test\db.php on line 11 Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50041, now running 50146. Please use mysql_upgrade to fix this error. Googlil jsem a rady na mysql_upgrade moc doporučované nejsou respektive to někdy dle lidí dělá bordel. Zkusím nejdřív na lokálu a uvidím. Setkal jsi se už s tím (snad nevadí tykání). |
||
Kajman Profil |
#9 · Zasláno: 11. 7. 2013, 12:53:22
lokix:
To bude chybou v dotazu. Zkuste nahratdit CONCATENATE za CONCAT. |
||
lokix Profil |
#10 · Zasláno: 11. 7. 2013, 13:03:31
Kajman:
Jsem *** je to tak a jede to. Moc díky ;) |
||
tiso Profil |
#11 · Zasláno: 11. 7. 2013, 15:38:15
sorry za chybu, zabudol som to opraviť.
|
||
lokix Profil |
#12 · Zasláno: 12. 7. 2013, 10:34:15
tiso:
Díky jsi machr a všem za pomoc. |
||
Časová prodleva: 11 let
|
0