Autor Zpráva
mikulas12
Profil
Ahoj, ve wordpresu se mi do jedné tabulky ukládají všechny komentáře, ale četl jsem že třebas na ankety by bylo lepší vytvářet každou tabulku zvlášt - tj na jednu anketu samostantou tabulku, na druhou také samostatnou tabulku. Já web na wordpressu nechystám (jenom sem se tak v rychlosti podíval jak to je řešený), je to dobrý nápad? sem v tomhle noob :-)


a s tima komentářema který budu ukládat do jedné jediné tabulky je to taky dobrý? když třebas budu mít 1500 článků a v každým budu mít tak 15 - 30 komentářů
...(je mi jasný že budu rád když napíšu tak 2 - 3 články za rok a budu mít měsíčně tak 3 zhlednutí, ale jen čistě teoreticky)...
Kajman
Profil
Lepší je jedna tabulka pro všechny komentáře. Např. tady je přes milion příspěvků a také jsou v jedné tabulce.

Rada s anketou mi nepřijde dobrá. To asi nebude správný zdroj informací ke studiu.
Keeehi
Profil
mikulas12:
Na anketu by jsi správně měl mít tři tabulky. Ale je jedno, kolik anket mít budeš, všechny se budou ukládat do těch tří tabulek.

Tabulka: ankety, Sloupce: id, otázka (text otázky)
Tabulka: odpovědi, Sloupce: id, id_ankety, odpověď (text odpovědi), pořadí (dobrovolné)
Tabulka: hlasování, Sloupce: id, id_odpovědi, id_ankety (nepovinné, dá se zjistit z odpovědi pod kterou patří, ale může to ulehčit nějaké výpočty), ... další data (čas, IP adresa, co prostě chceš)
mikulas12
Profil
děkuji oboum za odpověď, a měl bych to id_ankety taky indexovat?
Ale jak se to dá zjistit z odpovědi? Tak to id_ankety z tabulky "ankety" a "odpovědi budou propojené"

tohle je asi špatně.,..:
SELECT otázka, odpověď, COUNT(id_odpovědi) AS počet
JOIN ankety.id = odpovědi.id_ankety AND odpovědi.id_ankety = hlasovani.id_ankety
GROUP BY id_odpovedi
WHERE ankety.id = 5 
jak by to mělo vypadat?
Keeehi
Profil
SELECT odpověď, COUNT(*) AS počet
FROM odpovědi LEFT JOIN hlasování ON odpovědi.id = hlasovani.id_odpovědi
GROUP BY odpovědi.id
WHERE odpovědi.id_ankety = 5 
lumm
Profil *
Keeehi:
mockrát děkuji :-)

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: