Преброяване на всички записи и изписване от sql

webdeveloper

Registered
Здравейте, интересува ме как мога да преброя всички записи от дадена таблица и да изпиша броя им в страницата?
 
Код:
$d = mysql_fetch_assoc(mysql_query("select count(id) as all_rows from table where id = '5'"));
echo $d[all_rows];
Само трябва да си оправиш полетата и таблицата. Ако не знаеш как, дай си тук SQL структурата.
 
То става и с count, и с mysql_num_rows... аз съм свикнал с второто... първото ти е дадено от @devent
Код:
<?php
$select = mysql_query("SELECT * FROM `table`");
$count = mysql_num_rows($select);
if($count == 0){
echo "В таблицата няма записи";}
if($count == 1){
echo "В таблицата има 1 запис";}
else {
echo "В таблицата има ".$count." записа";}
?>
 
mysql_num_rows се бави, когато има много записи, препоръчвам count.
Ето и заявката:
$d = mysql_fetch_assoc(mysql_query("select count(file_id) as all_rows from files where file_id = '$id'"));
echo $d[all_rows];
Само червеното трябва да си го промениш, спрямо кода ти.
 
crazy_pi4 каза:
То става и с count, и с mysql_num_rows... аз съм свикнал с второто... първото ти е дадено от @devent
Код:
<?php
$select = mysql_query("SELECT * FROM `table`");
$count = mysql_num_rows($select);
if($count == 0){
echo "В таблицата няма записи";}
if($count == 1){
echo "В таблицата има 1 запис";}
else {
echo "В таблицата има ".$count." записа";}
?>

И така става но много товари . Много.
Връща цялата таблица с всички полета .
Ако таблиците са големи (както при мен се случва често) ще те изгонят направо от споделения хостинг.
Варианта на devent е по-добре да се ползва.
Брои и Връща броя на id-та.
Един единствен резултат.

Ще дам пример, че ако с твоята заявка броя колко мнения има във
форума на туриста (има такава заявка) ще е проблем.
 
Не знаех. Мерси... Просто го използвам, защото не съм запознат с другия вариант. Значи $neshto = mysql_fetch_assoc... mysql_query... select count(*) as word from table
$neshto['word']... ?
 
Щом е за count, няма смисъл да избираш *. Избираш едно от полетата, например id и после само регулираш WHERE заявката ;)
 
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)
 
Какви особености? Щом неговият пример става, значи и моят ще стане. Едно и също е освен метода, малко е по-различен?
 
webdeveloper каза:
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)

Чакай.
Пробвай така:

Код:
$result= mysql_query("select count(file_id) as all_rows from files);
echo mysql_result($result,0,"all_rows");
 
admin каза:
webdeveloper каза:
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)

Чакай.
Пробвай така:

Код:
$result= mysql_query("select count(file_id) as all_rows from files);
echo mysql_result($result,0,"all_rows");
Може ли малко разяснение по тоя код? В смисъл какво прави mysql_result и какви неща има в скобите?
 
admin каза:
webdeveloper каза:
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)

Чакай.
Пробвай така:

Код:
$result= mysql_query("select count(file_id) as all_rows from files);
echo mysql_result($result,0,"all_rows");

Благодаря ти много! По този начин също се получава и да се надяваме, че няма да имам проблеми с хостинга. :D :)
 
crazy_pi4 каза:
admin каза:
webdeveloper каза:
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)

Чакай.
Пробвай така:

Код:
$result= mysql_query("select count(file_id) as all_rows from files);
echo mysql_result($result,0,"all_rows");
Може ли малко разяснение по тоя код? В смисъл какво прави mysql_result и какви неща има в скобите?
mysql_results in bg.php.net
 
crazy_pi4 каза:
admin каза:
webdeveloper каза:
Благодаря ви за отговорите! Успях да го направя, но само с примера, който даде crazy_pi4.

С примера на devent няма да се получи заради други особености по системата ми. Явно ще се размина с изписването на записите щом товари толкова много. :)

Чакай.
Пробвай така:

Код:
$result= mysql_query("select count(file_id) as all_rows from files);
echo mysql_result($result,0,"all_rows");
Може ли малко разяснение по тоя код? В смисъл какво прави mysql_result и какви неща има в скобите?


count (file_id) as all_rows
ще преброи колко file_id има и ще ги върне в полето all_rows .
Такова поле не съществува в таблицата.
Само в резултата от заявката.
Изпълни заявката в phpmyadmin и ще видиш, че резултата ще е поле с
име all_rows .
 
Мерси... за count "уж" чатнах...
Ама за mysql_result....
mysql_result($заявката, 0 (реда.. 0, 1, 2...));
така от $заявката ще ми покаже определения ред... т.е. резултат. Примерно имам
mysql_query($query, 2);
Ще ми покаже от заявката $query третия резултат...?
Ама това третото не можах да разбера какво е... mysql_query($query, 2, ...?);
 
Значи имам таблица с име users и полета id, name, other
Ако направя така...
$select = mysql_query("SELECT * FROM `users`");
echo mysql_result($select, 0, "other");
ще ми покаже първия запис на полето other.... ами, ако не го задам? Кое поле ще покаже?
 

Back
Горе