Zadejte hledaný výraz...

Poslední aktivity uživatelů na stránce

Erik
verified
rating uzivatele
(2 hodnocení)
5. 9. 2011 14:52:55
Ahoj,
momentálně řeším problém s výpisem aktivit uživatelů. Nevíte jak by se dali propojit 2 různé tabulky a zároveň z nich získat informaci o tom, která je to aktivita?
Možná by to šlo vyřešit nějakým polem v PHP a seřazením dle času, ale chci se zeptat, zda není možnost přímo v DB.
To samé mají např. na http://www.vareni.cz/ (vpravo dole)
Díky všem za náměty.
Zjednodušená ukázka tabulek:
Výpis aktivit:
  • uživatel franta se právě utřel do ručníku s id 33
  • uživatel pepa si právě koupil ručník s id 55
5. 9. 2011 14:52:55
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673959
martinzsa
verified
rating uzivatele
(1 hodnocení)
5. 9. 2011 15:36:14
nic proti ale osobne mi pride hlupe mat 2 tabulky s rovnakymi stlpcami ked by stacila jedna a pridat jej stplec druh aktivity
celkovo by som to zmenil na tabulky
aktivita
ID ID_UZIVATELE ID_RUCNIKU ID_DRUH_AKTIVITY TIMESTAMP
typ_aktivity
ID_DRUHU_AKTIVITY NAZOV_AKTIVITY
tym zachovas presne rovnaku funkcionalitu ale navyse mas moznost pridavat viacero aktivit, priamo selectovat aktivity podla zadanych typov priamo z jednej tabulky a nemusis to riesit programovo cez polia a neviem co este si spominal
5. 9. 2011 15:36:14
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673958
Erik
verified
rating uzivatele
(2 hodnocení)
5. 9. 2011 21:01:22
Díky za názor.
Problém je v tom, že těch aktivit bude více (registrace, přidání fotky, přidání videa, úprava informací, úprava zápisu položky, označení něčeho atd...) A navíc to bude mít každý uživatel v profilu. A v té jedné tabulce by bylo strašně moc dat.
Když si to tak vezmu, tak ta aktivita je vlastně něco "podobného", jako na zdi na facebooku...
5. 9. 2011 21:01:22
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673957
martinzsa
verified
rating uzivatele
(1 hodnocení)
6. 9. 2011 00:27:25
pokial budu aktivity rovnake tak ako v tom tvojom predoslom pripade tak to ries ako som pisal... bat sa toho ze udajov bude vela sa nemusis.. spravnou idexaciou budu dotazy rychle. v praci pracujem s db obsahujucou autodiely s popism,i technickymi udajmi, nahradami pre konkretne diely a je tam daco vyse milion zaznamov a cela db aj s obrazkami ma skoro 30GB a predsa databaza fici pekne rychlo...
6. 9. 2011 00:27:25
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673956
Funkcionalitu, kterou potřebujete v SQL realizuje UNION ALL. Použití viz zde.
Upozorňuji, že né všechny databázové systémy to podporují a obecně se to zas až tak moc nepoužívá, neboť se, pokud to jde, obvykle používá jedna tabulka, jak už ostatně uvedli ostatní.
15. 9. 2011 10:22:43
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673955
Erik
verified
rating uzivatele
(2 hodnocení)
16. 9. 2011 12:18:33
Díky za nakopnutí, zkusím z toho udělat to co potřebuji :)
16. 9. 2011 12:18:33
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673954
martinzsa
verified
rating uzivatele
(1 hodnocení)
17. 9. 2011 00:23:28
unionom sice vypise polozky z viacerych tabuliek ale podla tej schemy co zadal nedostane to co chcel on a to konkretne nazvy aktivit... jedine prepracovat schemu inak to nedostane nejako jednoducho
17. 9. 2011 00:23:28
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673953
Erik
verified
rating uzivatele
(2 hodnocení)
23. 10. 2011 11:30:14
Takže, už jsem nalezl řešení a přidávám pro další uživatele.
23. 10. 2011 11:30:14
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673952
duben
verified
rating uzivatele
(49 hodnocení)
25. 10. 2011 12:02:01
správné řešení je to co psal martinzsa, tedy udělat jinak návrh tabulek. Řešit velké množství dat v jedné tabulce tím že to rozdělím do dvou stejných (časem víc) je nesmysl.
UNION je sice možné řešení, s každou další aktivitou a tedy novou tabulkou (v tvém špatném návrhu) budeš muset union předělat a přidat další subquery. UNION sám o sobě je dost pomalý a zatěžuje server, pokud navíc budeš dělat UNION přes hodně tabulek to pro velké množství dat, tak si koleduješ o problém s výkonem.
Jedna tabulka, nad ní správně definované indexy a číselník aktivit je v tomto případě jediná správná volba. Ostatní je z hlediska návrhu databáze a jejího výkonu špatně.
25. 10. 2011 12:02:01
https://webtrh.cz/diskuse/posledni-aktivity-uzivatelu-na-strance/#reply673951
Pro odpověď se přihlašte.
Přihlásit