A minap egy olyan oldalon dolgoztam, ahol több helyen is ki kellett íratni az olvasatlan levelek számát. Ilyen és hasonló esetekre nagyon hasznos a Function használata.
Az alábbi kódot ments el egy function.php fájlba, majd include-al töltsd be azon a részen, ami minden szükséges oldalon betöltődik.
function olvasatlan() { $cimzett=$_SESSION['nick']; $osszolvasatlan = mysql_query("SELECT COUNT(*) AS osszes FROM level WHERE olvasva=0 and cimzett='$cimzett'"); $olvasatlan = mysql_fetch_assoc($osszolvasatlan); if ($olvasatlan > 0) { echo $olvasatlan["osszes"]; } } |
A kód a következőket csinálja.
Létrehozunk egy olvasatlan() nevű funcktion-t. A cimzett nevű változó egyenlő lesz a $_SESSION[‘nick’]-el. Ez nálam jelen esetben a belépés után veszi fel a felhasználó nevét.
Az $osszolvasatlan változóval összeszámolok minden olyan levelet, ahol az olvasva mező értéke 0 és a címzett egyenlő a belépési névvel. Nálam a 0 az olvasatlan és az 1 az olvasott levél jelölése.
Ha az így kapott érték 0-nál nagyobb, akkor van olvasatlan levél.
Ezek után már csak be kell szúrni a megfelelő helyekre az alábbi sort:
olvasatlan(); echo " olvasatlan üzeneted van";
A saját értékeiddel átírva, minden oldalon tudod használni, ahol szükséged van a levelek számára. Természetesen minden átírható, így nem sokmindenre használható a fenti kód.
Szívesen várok minden hozzászólást és véleményt, még a negatív hozzászólásokat is.
Az if ($olvasatlan > 0) helyett inkább ezt használd: if ($olvasatlan !== false )
Valóban célszerűbb. Át is írtam a saját kódomban, köszi.