Jump to content
php.lv forumi

message system


anonīms

Recommended Posts

Esmu izveidojies vēstuļu sistēmu, bet vel arī vēlos, lai pie lietotāja paneļa rādas (2) Vēstules, itkā parādot, ka ir saņemtas 2 nelasītas vēstules.

 

Tabulā vestules ir kollona status, kur 0 - jauna, 1 - lasīta

vestules tabula sastāv no:

id, kam_id, noka_id, vestules_nosaukums, vestules_teksts, vestules_datums, status

 

īsti nezinu kā veidot, bet varbūt kaut ko līdzīgu šim?

$lietotaja_pakape = mysql_query("SELECT lietotaja_pakape, id from lietotaji where lietotajvards = '$_SESSION[lietotajvards]'");
$rows = mysql_fetch_array($lietotaja_pakape); 


$veestules = mysql_query("SELECT status FROM vestules WHERE status = '0' AND kam_id = '$rows[1]'");
$veestules = mysql_fetch_array($veestules);
<a href='http://eip.wc3.lv/vestules'>Vēstules</a><br />

 

bet kā man saskaitīt cik nelasītās vēstules ir tieši?

 

count(status) ?

Link to comment
Share on other sites

$veestules = mysql_query("SELECT status FROM vestules WHERE status = '0' AND kam_id = '$rows[1]'");
$veestules = mysql_fetch_array($veestules);


$unread = $veestules['status'] = "0";
$msg = count(unserialize($unread));

echo"<a href='http://eip.wc3.lv/vestules'>(".$msg.") ".$lang['vestules_vestules']."</a><br />";

 

Tagad viņš manuprāt saskaita visas nelasītās vēstules, bet kā panākt, ka tikai ielogotā lietotāja?

Link to comment
Share on other sites

mhm :] šādi apmēram arī pats sapratu

 

	  
$veestules = mysql_query("SELECT count(status) as vestulu_skaits FROM vestules WHERE status = '0' AND kam_id = '$rows[1]'");
$veestules = mysql_fetch_array($veestules);
$veestules = $veestules[vestulu_skaits];

if($veestules > 0)
{
$vestulju_skaits =  "(".$veestules.") ";
}
else { echo ""; }


echo"<a href='http://eip.wc3.lv/vestules'>".$vestulju_skaits."".$lang['vestules_vestules']."</a><br />";

Link to comment
Share on other sites

tev fignja sanaak, tu lieto

$veestules = arrayam

un pec tam tu lieto

$veestules = $veestules[vestulu_skaits];

 

ka tu gribi kaut ko panakt ar vienu un to pashu mainigo divas vietas, viena reize ?

Link to comment
Share on other sites

pats daru kaut kā šitā -

function checkpm()
		{

			$sql=mysql_query("SELECT * FROM db.table WHERE Kam=".Uid." AND R='0'");
			$count=mysql_num_rows($sql);

			if($count>=1)
			{
				return "<font color='red'><b>[".$count."]</b></font>";
			}

		}

 

kur 'R' tur vai ir lasīta, vai nav, ja ir tad 1.

Link to comment
Share on other sites

pats daru kaut kā šitā -

$sql=mysql_query("SELECT * FROM db.table WHERE Kam=".Uid." AND R='0'");

$count=mysql_num_rows($sql);

Kaa jau anonīms rakstija...

labak izmantot :

SELECt COUNT(*) AS skaits FROM tabulis WHERE blabla=1

 

savaadak tiek NOLASITI un PARSUTIITI visi vajadziigie ieraksti ....

(parsutiiti gan vinji reali vel netiek ... , bet nokeshoti gan ...)

Edited by Grey_Wolf
Link to comment
Share on other sites

Manuprāt labāk ir:

SELECT COUNT(id) AS skaits FROM tabula WHERE ...

Respektīvi COUNT(konkrēts_lauks) nevis COUNT(*). Tiešām nezinu, cik un vai tas ietekmē atrdarbību, atmiņas/indeksu izmantošanu, taču intuitīvi liekās, ka ņemt COUNT(konkrēts_indeksēts_lauks) ir labāk.

Link to comment
Share on other sites

×
×
  • Create New...