Autor | Zpráva | ||
---|---|---|---|
pinlop Profil |
#1 · Zasláno: 23. 4. 2013, 20:56:52
Zdravím
Mám problém s tímto. Mám tabulku v mysql (například 100 řádků) zde mám tři sloupce, id, odkaz a počet kreditů.Potřebuji zobrazovat tyto odkazy uživateli . Je zde také tlačítko, když na něj uživatel zmáčkne, přičtou se mu kredity na svůj účet a kredity uživatele který odkaz vložil se odečtou. Potřebuji ,aby každému uživateli byl každý odkaz zobrazen pouze jednou a to s podmínkou,že když na odkazu nebudou kredity,tak je zapotřebí pamatovat si to a příště až uživatel vstoupí na tuto stránku a kredity na odkazu budou ,tak se tento odkaz zobrazí a už nikdy víc. Jak nejjednodušeji by se dalo toto řešit? podmínkou je, ušetřit co nejvíce místa, tzn. nerad bych ukládal všechny id které už shlédl.Napadá vás efektivnější řešení? |
||
tiso Profil |
#2 · Zasláno: 23. 4. 2013, 21:43:41
Podľa tvojich podmienok bude o niečo efektívnejšie ukladať id, od ktorých sa mu podarilo získať kredit, čiže neukladať id s kreditom 0. Časom ale táto tabuľka bude rásť.
|
||
pinlop Profil |
#3 · Zasláno: 23. 4. 2013, 21:50:46
Jiné řešení vás nenapadá? Neexistuje nějaká funkce, která by umožňovala něco co by mi to pomohlo zefektivnit?
|
||
tiso Profil |
#4 · Zasláno: 23. 4. 2013, 21:58:33
Máš nejaké doplňujúce informácie o čo sa snažíš, prípadne odhad počtu užívateľov, odkazov, ...
|
||
pinlop Profil |
#5 · Zasláno: 23. 4. 2013, 22:12:57
Odkaz bohužel nemám,Odhad uživatelů ,nedokáži odhadnout ale chci být připraven na tisíce až desetitisíce.
Snažím se o toto: zkusím to ještě přiblížit: Bude se jednat o web, na který si registrovaní mohou přidat své odkazy (dá se říci , že něco jako websurf .cz) Uživatel si přidá svůj odkaz a na ten si převede kredity. Tento odkaz se pro ostatní může zobrazit jen v případě, že na tomto odkazu bude více jak 1 kredit. Jeden kredit, jedno otevření odkazu.Problém je v tom. Že na rozdíl od websurfu, kde je jedno kolikrát se daný odkaz zobrazí, potřebuji zobrazit daný odkaz uživateli pouze jednou. V tom by problém nebyl, pokud bych šel od začátku do konce databáze,problém je ale v tom, že se může a taky že se stane, že na nějakém odkazu nebudou kredity,tudíž, když nejsou kredity,odkaz se nemůže zobrazit uživateli.Kdybych postupoval podle id ,tak tento záznam přeskočím a více se k němu uživatel už nevrátí, nikdy nebude zobrazen. Proto by bylo nejjednodušší řešení ukládat si tyto odkazy ,ale tím se mi plní další tabulka, ptám se jestli vás nenapadá efektivní řešení , jak by bylo možné tento problém efektivně vyřešit. |
||
tiso Profil |
A musí každý vidieť všetky odkazy? Vadí, ak niektoré preskočí a potom ich už neuvidí?
|
||
pinlop Profil |
#7 · Zasláno: 23. 4. 2013, 22:30:00
Ano, každému uživateli se musí zobrazit všechny odkazy co jsou v databázi a nesmí zobrazit znovu.Pokud by se čas od času jeden zobrazený odkaz zobrazil znovu, tak by se nic nestalo,ale nesmí se to často opakovat.
|
||
tiso Profil |
#8 · Zasláno: 23. 4. 2013, 22:44:14
Tak čo takto: pôjdeš postupne po id a pamätáš si pre usera posledný navštívený odkaz a tie, ktoré preskočil. Ušetriť môžeš tým, že ak ich preskočil viacero, tak si zapamätáš rozsah od-do ako jeden záznam v databáze. Ak príde na koniec, tak skúšaš nenavštívené odkazy, postupne ich mažeš z tej zapamätanej tabuľky.
|
||
Časová prodleva: 11 let
|
0