Autor Zpráva
asusák
Profil *
Udělal sem si script na soukromé zprávy zapisuje se to do databáze tam jsou sloupce: ID (id zprávy) od (od koho byla zpráva odeslána) pro (pro koho je zpráva) nadpis a zpráva. No a já bych když si dám na hlavní stránce vypsat kolik tam mám zpráv podle sloupce pro, Tak se mi zobrazí všechny zprávy i když je mám už přečtený a mě vůbec nenapadá jak to udělat aby se to po přečtení už nezobrazovalo.
Jimmy Hayek
Profil
asusák
Co třeba přidat ještě jeden sloupec, kde bude uložen stav — třeba N (nepřečteno) nebo P (přečteno) a podle toho vypsat zprávy?
asusák
Profil *
No jenomže když tam vložím tenhle sloupec tak by se nevím jak bych definoval podmínku že když ten sloupec =p tak se vypíše 0. Tady mám výpis kolik tam je zpráv.
$sz = mysql_query("SELECT * FROM sz where pro = '".$_SESSION['UserId']."'");
$pocet = mysql_num_rows($sz);
nevím prostě jak na tu podmínku...
fandaa
Profil
asusák
Použij WHERE.
Jimmy Hayek
Profil
asusák
nevím prostě jak na tu podmínku...
Vždyť už tam jednu podmínku máš (where) :-)
Takže nějak takto:
$sz = mysql_query("SELECT * FROM sz WHERE pro = '".$_SESSION['UserId']."' AND stav = 'N'");
$pocet = mysql_num_rows($sz);
asusák
Profil *
aha tohle mě nenapadlo. díky moc
Alphard
Profil
Jestli ty zprávy nechcete následně vypsat, tak je počítejte takhle:
$pocet = mysql_result (mysql_query("SELECT count(*) FROM sz WHERE pro = '".$_SESSION['UserId']."' AND stav = 'N'"), 0, 0);
Anonym
Profil *
Alphard
Proč? Je to rychlejší?
Alphard
Profil
Anonym:
Proč? Je to rychlejší?
Ano. A také méně zatěžující.
Databáze snadno spočítá řádky a vrátí jediné číslo. Předchozí špatný postup vyžaduje vrácení všech záznamů (a všech sloupců) do PHP a tam se teprve počítají.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: