ezs Posted April 19, 2004 Report Share Posted April 19, 2004 jautājums ir kā būtu optimālak veikt atlasījumus no db lai atgriesā vērtība būtu skaits cik rindiņu ir vai nav pieņemtas ar select f-ciju patreiz es lietoju $sodien = mysql_query ("SELECT * FROM $tabula WHERE userid='$userid' ORDER BY `id` DESC"); $hits_sodien = MYSQL_NUMROWS($sodien); bet teiksim ja es šajā rindiņā iemetu AND WHERE atgriesta netiek nekāda vērība laigan es skaidri zinu ka ir jābūt datiem. tad vel par to DISTINCT es lietoju šādu kodu, bet atkal netiek atgriesta nekāda vērtība $host = mysql_query ("SELECT DISTINCT ip FROM $tabula"); $hosts = mysql_numrows($host); zinu ka bija tāda COUNT bet man īsti nesanāk viņu izmantot kā viņa būtu jaizmanto Link to comment Share on other sites More sharing options...
Aleksejs Posted April 19, 2004 Report Share Posted April 19, 2004 Jautājums ir: "Kā būtu optimālak veikt atlasījumus no db, lai atgrieztā vērtība būtu skaits, cik rindiņu ir vai nav pieņemtas ar select f-ciju?" Veids, kā tu to dari ir pareizais. Vienīgi jāraksta mysql_num_rows nevis mysql_numrows. Ja tev neatgriež rindiņas, kaut arī tu tiešām zini, ka vajadzētu atgriezt - tātad nepareizi esi uzrakstījis vaicājumu. COUNT izmanto tad, kad vajag dabūt tikai vaicājumam atbilstošo rindu skaitu. Ja vajadzīgas arī pašas rindas, tad skaitam izmanto mysql_num_rows. Link to comment Share on other sites More sharing options...
bubu Posted April 19, 2004 Report Share Posted April 19, 2004 tu gribi dabuut unikaalo IP skaitu? tad $res = mysql_query ("SELECT COUNT(ip) FROM $tabula"); $row = mysql_fetch_row($res); $hosts = $row[0]; Link to comment Share on other sites More sharing options...
Aleksejs Posted April 19, 2004 Report Share Posted April 19, 2004 Atkārtoju vēlreiz: "Ja ir vajadzīgs tikai ierakstu skaits, tad vaicājumā jāizmanto COUNT." Kāda jēga atgriezt 20000 rindiņas, ja varēja iztikt ar 1 rindiņu? Link to comment Share on other sites More sharing options...
Recommended Posts