"Kaç arama sonuçları mysql den"

3 Cevap php

I got some help with gettin the number of rows returned from mysql, and it works fine... BUT, how do I get the number of rows with a certain field value? Do I have to make a new Mysql search query?

Here is the code where I query mysql and display in a table using fetch_array... Also, Im using mysql_num_rows to get number of rows. So how do I get number of rows with certain field value also?

$qry_result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($qry_result);
while($row = mysql_fetch_array($qry_result))

Tüm yardım için teşekkürler

OBSERVE: Im trying to avoid using another SELECT WHERE clause... Is there a way to do what I want withouth another search?

3 Cevap

Senin sorgusunda, where yan tümcesini kullanabilirsiniz. (Select * from table where sütun1 = 'değer')

Başka bir seçenek ise döngüde artırmak bir sayaç değişkeni sahip olacaktır:

$counter = 0;
while($row = mysql_fetch_array($qry_result))
{
    if($row[0] == "value")
       $counter++;
}

Bu sayaç var sonra, mysql_data_seek($qry_result, 0); ile sonuç kümesini sıfırlamak ve ardından orijinal döngü ise devam.

Bu ulaşmak, ya da çalıştırmak MySQL karşı ek sorguları veya dizinin üzerinde yineleme sırasında ne gerek hesaplamak için programm mantığı kullanmak için birkaç yol vardır.

MySQL satırların sayısını getiriliyor yanı sıra çeşitli çözümler vardır bir iştir. Sen körü körüne foo = bar masa SELECT count (*) aramak, ya da veritabanının daha gelişmiş SQL_CALC_FOUND_ROWS değişkeni kullanabilirsiniz.

Eğer kendinizi daha iyi açıklamak olsaydı, ben iyi bir çözüm sağlamak için memnun olurdu!

UYUN: Im başka SEÇİMİ maddesi kullanarak önlemek için çalışıyoruz ... Ben başka bir arama withouth ne istediğinizi yapmak için bir yolu var mı?

Başka SEÇ maddesi kullanmak istemiyorum neden ben merak ediyorum?

Ben sorunuzun yorumlamak ne, belirli bir sorgu VE benzersiz değişkenler sayımı satır sayıda soruyorsunuz?

ex:

NAME  AGE
Joe   15
Simon 13
Simon 16
Joe   21
Mary  15
Joe   28

Sizin satır sayısı 6 ve sayısı (eğer talep olduğunu) olurdu;:

Joe x 3
Simon x 2
Mary x 1

Eğer sorduğun ne varsa, neden veri sizin seti için 2 sorgular, 1 kullanın ve başka bir sorgu değil nereye GROUP BY 'isim' ve sadece eşsiz 'adı' sonuç? İşte size "belli alanlarda" bir sayımını almak istiyorum.

Ben sizin sorunuzu miunderstood Sonra tekrar beni düzeltin.