Помогите с SELECT COUNT(*)

12
Samail
На сайте с 10.05.2007
Offline
369
15764

Нужно вставить на страницу общее число строк в таблице "jos_katalog".

Т.е. по идее должно получиться:

<?php 

echo "<strong>".Итого.":</strong> " . "Код который выводит циферку" .;
?>

Вот с циферкой как раз проблема. Подскажите, кто разбирается, как код должен выглядеть.

B
На сайте с 03.07.2008
Offline
48
#1

$db=mysql_connect('host','user','pass');

$select_db = mysql_select_db('mysql', $db);

$query = "SELECT COUNT(*) FROM `jos_katalog`";
$cnt_line = mysql_query($query, $db);
echo "<strong>Итого:</strong> " . $cnt_line;
Я не создаю сайты - я делаю их лучше (QA)
J
На сайте с 02.02.2009
Offline
53
#2


$count = 0;
$result = mysql_query("SELECT COUNT(*) FROM jos_katalog");
if($result && mysql_num_rows($result)!=0){
$count = mysql_fetch_row($result);
$count = $count[0];
}
echo $count;
walabyn
На сайте с 18.07.2006
Offline
113
#3
jumash:

$count = 0;
$result = mysql_query("SELECT COUNT(*) FROM jos_katalog");
if($result && mysql_num_rows($result)!=0){
$count = mysql_fetch_row($result);
$count = $count[0];
}
echo $count;

все правильно, но зачем писать

SELECT COUNT(*) FROM jos_katalog

а потом юзать mysql_num_rows?

пишите просто

SELECT * FROM jos_katalog
J
На сайте с 02.02.2009
Offline
53
#4
walabyn:
все правильно, но зачем писать
SELECT COUNT(*) FROM jos_katalog

а потом юзать mysql_num_rows?
пишите просто
SELECT * FROM jos_katalog

Вы ведь правда знаете о том, что оперативная память в компьютере не безразмерная?:)

Ваш вариант использовать крайне не рекомендуется. Если уж очень хочется сделать без COUNT(*) - стоит использовать


mysql_query("SELECT SQL_CALC_FOUND_ROWS id FROM jos_katalog LIMIT 1");
$count = mysql_query("SELECT FOUND_ROWS()");

:D

psylosss
На сайте с 23.12.2005
Offline
126
#5
walabyn:
а потом юзать mysql_num_rows?
пишите просто

Все правильно написал jumash. А вы в заблуждение вводите нерациональными предложениями.

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
J
На сайте с 02.02.2009
Offline
53
#6

Ну опять же от задачи зависит :) Например, если данные будут потом юзаться на странице - то естественно лучше сделать с mysql_num_rows :) А просто посчитать - тут уже COUNT :)

walabyn
На сайте с 18.07.2006
Offline
113
#7
psylosss:
Все правильно написал jumash. А вы в заблуждение вводите нерациональными предложениями.

дадада, сорри, ступанул=)

можно и

SELECT DISTINCT id FROM jos
J
На сайте с 02.02.2009
Offline
53
#8

Прекращайте это:))))

DISTINCT сгруппирует по уникальным - а ID как бы тут я считаю что подразумевается наличие PRIMARY :D

Samail
На сайте с 10.05.2007
Offline
369
#9

jumash,

Спасибо, работает.

…а нагрузка на БД от этого большая? Если строк, тысяч десять и код будет стоять на главной?

J
На сайте с 02.02.2009
Offline
53
#10

Если по ID стоит праймари или индекс - то нормально

Да и 10k не так много :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий