Registrujte se Těšíme se na Vaši návštěvu u WEDOS. Přednášky a prohlídky, diskuze a nakonec pivečko :-) Start za 2 dny. Neváhej. Váš WEDOS
Zobrazují se odpovědi 1 až 4 z 4

nepřečtené příspěvky v diskusi

  1. Taps Hodnocení: 24 (100%) Taps je zatím velká neznámá
    1
    ahoj, mohl by mi prosím někdo poradi jak efektivně přepočítávat příspěvky v diskusi. Mám níže uvedenou strukturu tabulky

    Kód:
    CREATE TABLE `diskuse_prispevky` (
    `id` smallint(6) NOT NULL AUTO_INCREMENT,
    `id_diskuse` smallint(6) DEFAULT NULL,
    `reakce` smallint(6) DEFAULT NULL,
    `id_autora` smallint(6) NOT NULL,
    `prispevek` text COLLATE utf8_czech_ci NOT NULL,
    `datum` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
    `zobrazit` enum('ano','ne') COLLATE utf8_czech_ci NOT NULL,
    `mailem` enum('ano','ne') COLLATE utf8_czech_ci NOT NULL,
    `test` enum('ano','ne') COLLATE utf8_czech_ci NOT NULL DEFAULT 'ne',
    PRIMARY KEY (`id`),
    KEY `datum` (`datum`),
    FULLTEXT KEY `prispevek` (`prispevek`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2526 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
    
    
    
    CREATE TABLE `diskusePrecteno` (
    `id_ctenar` smallint(6) NOT NULL,
    `id_diskuse` smallint(6) NOT NULL,
    `precteno` smallint(6) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs;
    Hlavně mi jde o to, aby nebyly zobrazovány chybné počty nepřečtených příspěvků, v případě že nějaký příspěvek v diskusi smažu.

    níže uvádím skript pro smazání a přepočtení příspěvků, který mi bohužel nefungoval správně.
    Kód:
    $idPrispevek=(int)$_GET['idPrispevek'] ;
    $idTema=(int)$_GET['tema'] ;
    
    mysql_query("delete from diskuse_prispevky where id='$idPrispevek'");
    
    
    $celkemPrispevky=mysql_result(mysql_query("select count(id) from diskuse_prispevky where id_diskuse='$idTema'"),0);
    
    $PrispevkyPocitat=mysql_query("select * from diskusePrecteno as precteno where id_diskuse='$idTema'") or die (mysql_error());
    
    while($prispevky=mysql_fetch_assoc($PrispevkyPocitat)){
    if(intval($prispevky['precteno']) > intval($celkemPrispevky)){
    
    mysql_query("update diskusePrecteno set precteno=precteno-1 where id_diskuse='$idTema'");
    Naposledy upravil Taps : 04.09.2011 v 13:26

  2. Co se právě děje na Webtrhu?
  3. ted bohuzel nemam chut radit vic, ale mas spatnou strukturu tabulky i zpusob prepocitavani podle me :) verim ze nekdo sem napise nejake poradne reseni, ale takhle bych to urcite neresil (kdyztak se pokusim sepsat neco zitra)

  4. oham Hodnocení: 1 (100%) oham je na dobré cestě
    3
    Máte to už vyřešené?

  5. Mažeš příspěvek, u kterého nevíš, jestli byl uživatelem přečten nebo ještě ne. (A to je navíc pro různé uživatele různé.)
    Já ti můžu poradit místo počtu příspěvků zaznamenávat datum a čas, kdy se do které diskuse uživatel naposledy podíval (nechal si ji načíst). Neexistující záznam u dané diskuse a daného uživatele pro něj znamená, že se zatím do diskuse nepodíval a tedy počet jeho nepřečtených příspěvků je roven počtu všech příspěvků v diskusi.
    Při přehledu diskuzí pak budeš muset zjišťovat, kolik je v té které diskusi příspěvků celkem popř. kolik jich přibylo od uživatelova posledního nakouknutí (těch, kde datum a čas přidání příspěvku > datum a čas uživatelova posledního nakouknutí do diskuse).
    P.S. Předpokládám, že to platí pro registrované uživatele - u neregistrovaných bych nic takového neevidoval a nevypisoval.

Hostujeme u Server powered by TELE3