Подсчет записей в MySQL

monk

Новичок
Подсчет записей в MySQL

Чтобы подсчитать сколько записей в базе (mySQL) обязательно в массив записывать или мона по другому обойти.
Просто вот если надо посчитать кол записей где например d='test' отдельно
где d='primer'
где d='new'
и т.д.
Для каждого делать запрос в базу отдельно и подсчитывать?
 

monk

Новичок
Спасибо!
Вот так делаю:

$db_new = "SELECT COUNT(*) FROM $table_wapcat where dir='1'";
$result = mysql_query($db_new);
$b = mysql_fetch_row($result);
$m1 = $b[0];

$db_new = "SELECT COUNT(*) FROM $table_wapcat where dir='2'";
$result = mysql_query($db_new);
$b = mysql_fetch_row($result);
$m2 = $b[0];

и таких штук 20.
Работает такая хрень медленно.. Да и вообще граматно так делать?
 

SelenIT

IT-лунатик :)
На мой взгляд, дублировать без нужды почти идентичный код раз по 20 всегда неграмотно.
Дельный совет дал hash, только опечатался малость в ключевом слове...
Пример реализации:
PHP:
$db_new = "SELECT dir, COUNT(*) FROM $table_wapcat GROUP BY dir ORDER BY dir";
$result = mysql_query($db_new);
while ($b = mysql_fetch_row($result)) {
   $m[$b[0]] = $b[1];
}
 

4m@t!c

Александр
Работает такая хрень медленно.. Да и вообще граматно так делать?
Не забудь индексировать нужные поля, тогда "такая хрень" будет работать быстрее;)))
 
Сверху