Oon yrittäny ite tehä monesti tätä mutten osaa.
Oon tekemässä samanlaista systeemiä mikä on esim. ii2:ssa eli oma kuva tekstin vieressä lukee uusien kommenttien määrä ja lukua painamalla pääsee kuvaan mihin on tullu uusia kommentteja.
Mut miten katon uusien kommenttien määrän? Tällä hetkellä on images taulu jossa on tiedot id|user|kansio|kuva|kuvateksti|komms
komms on kommenttien määrä kun käyttäjä viimeksi katsoi kuvaa. pic_comments taulussa on tiedot id|user|kuva|user2|message|private
pic_comments taulussa on kaikki kommentit
Voisko joku kokeilla väsätä jotain esimerkkiä?
En ala valmista koodia vääntämään, mutta auttaa voin. Eli kun käyttäjä (vaikka Salamanteri) kirjautuu ulos otat esim. time():llä aikaleiman kantaan, sitten kun Salamanteri kirjautuu taas sisään, niin luet kaikki kommentit taulukkoon mitkä ovat tuleet sen jälkeen kun Salamanteri on kirjautunut viimeksi ulos. Taulukko voisi olla tyyli tämä: $komtsut=array("http://www.kuvake.net?userid=salamanteri", "jne");
Ja sitten vain ulostat esim. näin:
<?php $komtsut=array("http://palvelin.fi?id=1", "http://palvelin.fi?id=2"); if(count($komtsut != "0") echo "<a href=\"{$komtsut[0]}\">".count($komtsut)."</a>"; ?>
Voi olla, että parempiakin vaihtoehtoja tuon toteuttamiseen löytyy, mutta minä alkaisin tekemään tuota tämmöiseltä pohjalta :)
No ton kyllä jo osasin ite tehä mutta ongelma on siinä miten tarkistan onko uusia kommentteja ja paljon niitä on
Tuossahan jo kerroin, että yksi tyyli tarkistaa uudet kommentit on verrata niiden kirjoitus aikaa siihen aikaan milloin Salamanteri kirjautui ulos. Kommenttien lukumäärän saat mm. listaamalla uudet kommentit taulukkoon ja sitten laskemalla taulukon alkioiden määrän.
Tuo on kyllä aika helppo tapa toteuttaa tää. Ite aattelin ton taas liian vaikeesti.
EDIT! Ongelmia: Miten saisin ton kattoo sen ajan koska kuvaa on viimeks katsottu silleen että images taulussa on tieto siitä koska viimeks on katsottu mitäkin kuvaa.
Tai onko mitään muuta järkevää tapaa toteuttaa toi ku tällä hetkellä aika katotaan siitä koska käyttäjä viimeks teki jotain. Ja jos käyttäjä katsoo jonkun kuvan kommentit niin muita uusia kommentteja ei oo enään.
hmm.. eipä käynyt mielessäkään, että noin siinä käy :P Tässävaiheessa itse tekisin sessionin jossa tuo taulukko olisi. Tai jos et halua sessiota käyttää, niin jokin kanta mihin tuo taulukko aina laitetaan, kun jonkin kuvan kommentit on luettu.
Kertokaa nyt muutkin onko jotain fiksumpia vaihtoehtoja! :P
No ite aattelin lisätä tohon images tauluun kommenttien kattomis päivän ja ajan mut miten tarkistan siitä koska on katottu?
No en jaksanut koko threadia ja ongelmaasi lukea läpi, mutta itse tekisin näin:
comments-taulu: id|image_id|user_id|muut kentät|lukematta --+--------+-------+-----------+--------- 1 | 123 | 1 | asdf | 1 2 | 111 | 1 | asdf | 1 3 | 165 | 2 | asdf | 0 4 | 135 | 1 | asdf | 0 5 | 111 | 1 | asdf | 1
Josta saa siis simppelisti haettua lukemattomien viestien määrän (SUM(lukematta)), sekä kuvaa luettaessa voidaan kuvakohtaiset kommentit merkitä luetuiksi, jolloin sivulle tulostuu edelleen tieto lukemattomista kommenteista
Edit: äh, nyt kun luin aloitusviestisi, niin siis sinullahan oli jo tuollainen kanta, ainoastaan tuo 'luettu'-kenttä puuttuu sieltä.
Edit2: tallennat kommentti-tauluun kaksi käyttäjätunnusta, oletan, että kirjoittajan, sekä vastaanottajan? Jos nyt tarkkoja ollaan, niin tuota vastaanottajaa ei tarvitsisi tallentaa, koska kommentissa on kuitenkin tieto siitä, mille kuvalle se kommentti kuuluu ja todennäköisesti taas siitä kuvasta löytyy tieto, kenelle käyttäjälle se kuuluu. Joten pystyt kuva-taulun kautta hakemaan myös tiedon, kenelle kommentti on osoitettu.
No jos tekisin niin että ois kohta luettu niin miten vertaan sen määrää siihen monta kommenttia taulussa on? luettu ois siis se määrä koska kuvan omistaja katsoi kuvia.
EDIT. Taidankin jo tietää miten teen.
EDIT. Tein niin että jokaiseen kommenttiin tallennetaan kohtaan luettu 0 joka muuttuu 1:ksi kun kuvan omistaja katsoo kommentteja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.