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.

Harder

Harder

Profil

Korábbi hozzászólások (2)

A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.

  1. egyprogramozoegyprogramozo.eu

    Az if ($olvasatlan > 0) helyett inkább ezt használd: if ($olvasatlan !== false )

  2. Molesz

    Valóban célszerűbb. Át is írtam a saját kódomban, köszi.

Van hozzáfűznivalód? Írj nekem közvetlenül.

Kapcsolat