Jump to content
php.lv forumi

Statistika - refereri


Kristabs

Recommended Posts

Man vajag padomu! Man datubāzē krājās 'user agent', vēlos statistikā izvadīt cik procentuāli ir kuri pārlūki. Pagaidām vienīgais mans variants ir:

SELECT * FROM statistic WHERE agent like '%MSIE%';

un tā tālāk ar katru sev zināmo iespējamo pārlūku.

 

Vai kāds ir to darījis un var ieteikt ko efektīvāku? Un kā uzzināt visus iespējamos variantus ar pārlūkiem?

 

Pameklēšos google, ja kādam ir kāds labs ieteikums, piedāvājums, tad droši...

Link to comment
Share on other sites

Mans beigu variants, iespējams, vēl kādam noderēs:

http://paste.php.lv/2932

Neatbildu par to, kas var parādīties pie Unknown, ja kas trūkst, tad pārbaudiet, kas nav uzskaitīts un pievienojiet.

 

Ja kādam ir ērtāk lietot switchu, tad lietojiet. Apnikuši šitie apgalvojumi. Lieto ko gribi, ja rezultāts vajadzīgais. Tas pats kas ar to a : b ? d un ifu...

Edited by Kristabs
Link to comment
Share on other sites

Kā kurš?

Tavā kodā no http://paste.php.lv/2932

Rindā #9: if(eregi('Opera',$row['agent']))

Un kāpēc nevar: if ($row['agent']=='Opera') ?

Vai vēl labāk:

$arr = array('Opera', 'NetCaptor', 'Maxthon', ...); // te visi
if (in_array($row['agent'], $arr)) {
 $agents[$row['agent']]++;
} else {
 $agents['Unknown']++;
}

Link to comment
Share on other sites

bubu, eregi ir ok, jo:

 

Ja kādam ir ērtāk lietot switchu, tad lietojiet. Apnikuši šitie apgalvojumi. Lieto ko gribi, ja rezultāts vajadzīgais. Tas pats kas ar to a : b ? d un ifu...

 

pareizaak buutu a ? b : d. nejauksim galvu.

Link to comment
Share on other sites

Tas tevi tikai drusku attaisno :)

if (strpos($row['agent'],'Opera')!==false)

vai:

found = false;
while ($item=each($arra)) {
 if (strpos($row['agent'],$item)!==false) {
$agents[$item]++;
found = true;
break;
 }
}
if (!found) $agents['Unknown']++;

Edited by bubu
Link to comment
Share on other sites

×
×
  • Create New...