Autor Zpráva
pinlop
Profil
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
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
Jiné řešení vás nenapadá? Neexistuje nějaká funkce, která by umožňovala něco co by mi to pomohlo zefektivnit?
tiso
Profil
Máš nejaké doplňujúce informácie o čo sa snažíš, prípadne odhad počtu užívateľov, odkazov, ...
pinlop
Profil
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
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: