function SiirtymaOptionit() { global $henkilo_id; $q ="SELECT id, CONCAT(snimi, ' ' ,nimi) as nimi, COUNT(t.johtaja) tiedote FROM asiakkaat as a LEFT JOIN tiedote as t ON t.johtaja = a.id WHERE hetu !='' AND tyyppi = 1 AND luettu = 0 AND poistettu IS NULL GROUP BY t.johtaja"; $r = mysql_query($q); if(!$r) die(mysql_error()); if(!mysql_num_rows($r)) return; $laskuri = 1; echo '<select onchange="window.location.href=this.options[this.selectedIndex].value" name="arvo">'; echo '<option> Henkilökohtaiset viestit</option>'; while($row = mysql_fetch_row($r)) { $sel = $row[0] == $henkilo_id ? 'selected="selected"' : ''; printf('<option %s value="./ilmoitustaulu.phtml?arvo=%d&nimi='.$row[1].'">%s ( %d )</option>', $sel, $row[0], mysql_real_escape_string($row[1]), mysql_real_escape_string($row[2])); } echo '</select>'; }
Elikkä ongelmanani olisi siis se, että yritän laskea montako viestiä haluttu käyttäjä on lukenut. Tilanteessa, jossa käyttäjä on lukenut kaikki viestinsä, ei käyttäjää tudosteta ollenkaan pudotusvalikkoon. Vaikka haluaisin, että käyttäjä siihen tulostetaan, koska käyttäjä voi merkitä viestin luetuksi, eikä sitä enää tulisi mihinkään merkata, mutta hän ei kuitenkaan poista viestiä.
Ongelmani tiedän oleman tässä kohtaan.
AND luettu = 0
AND poistettu IS NULL
Jos viestiä on luettu tai se poistettu, niin hakuehto ei löydä mitään. Miten siis tämä olisi järkevin ratkaista.
Mikä se ongelma on?
LaNu kirjoitti:
Mikä se ongelma on?
Nyt on ongelmakin.
saako tuosta minun selityksestä mitään selvää.
Eli ongelmani on se, että lähetän käyttäjälle vaikka 3 viestiä.
Hän lukee niistä 2 joten jäljelle jää yksi.
Tässä tilanteessa pudotusvalikossa pitäisi lukea matti mainio (1), eli matilla on yksi lukematon viesti.
Jos Matti lukee tämänkin viestin on hänellä kolme viestiä, jotka on luettu.
Eli tulos on ei mitään. Mattia ei enää tulosteta pudotusvalikkoon vaikka hänellä on jäljellä nämä kaikki viestit, koska hän ei niitä poistanut.
Aihe on jo aika vanha, joten et voi enää vastata siihen.