Autor Zpráva
Taps
Profil
Mám diskusi a potřeboval bych poradit jak nejlépe vytvořit aby se každému uživateli po příhlášení zobrazil počet nových příspěvků v diskusi,
Můj návhr je takový že bych si udělal ještě jednu tabulku kde bych si ukládal id uzivatele,id diskuse, a pocet prectení.

Nemáte třeba nějaký lepší nápad ? popř. jak to realizujete vy
svadla
Profil
chces zjistit pocet prispevku nebo pocet precteni?

neznam strukturu tvych tabulek, ale pocet prispevku zjistis dotazem na tabulku s prispevky, neco jako
select count(id) as pocet from prispevky where autor_id = $prihlaseny_uzivatel_id
Taps
Profil
svadla
chci zjistit počet nových příspěvků od poslední návštěvy uživatele na stránce. Tvůj dotaz je dobrý akorát bych tam přidal ještě nějakou podmínku na kontrolu poslední návštěvy
svadla
Profil
tak to je jeste neco jineho.
nejdrive si nejakym zpusobem zjisti od kdy ty prispevky chces (kdy byla posledni navsteva) a pak uz jen
select count(id) as pocet from prispevky where datum_vlozeni >= $to_nezname_datum
Leo
Profil
Pokud jsou nove prispevky ty, co byly pridany od posledni navstevy daneho uzivatele, pak nedelejte zadnou treti tabulku, ale do tabulky uzivatel pridejre cas navstevy, a do tabulky prispevku datim vlozeni a pak proste pri spojeni tabulek porovnate.

Pokud jsou nove prispevky ty, co uzivatel jeste necetl je to slozitejsi a musite udelat treti, spojovaci tabulku ktera resi vztah M:N uzivatel : precteny prispevek, Leo
Taps
Profil
Leo
Pokud jsou nove prispevky ty, co uzivatel jeste necetl je to slozitejsi a musite udelat treti, spojovaci tabulku ktera resi vztah M:N uzivatel : precteny prispevek,

přesně o to mi jde.
Leo
Profil
Taps

Otazka je, jestli to stoji zato. Podobny system je (pro prihlasene uzivatele) v diskusnich forech na builder.php, ale nikdy mi to na nic nebylo. Tam se to ovsem uklada do cookies, ne do db. Databazove reseni obnasi tabulku treba "prectene_prispevky", kde bude proste jen id_uzivatele a id_prispevku, tot vse a pri vypisu spojite dve tabulky - prispevky a prectene_prispevky. Leo

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:

0