![](https://forum.clientbase.ru/public/style_images/master/icon_users.png)
![](https://forum.clientbase.ru/uploads/profile/photo-thumb-988.jpg)
Как подсчитать сколько записей сделано в подчиненной таблице?
#1
Отправлено 17 Январь 2012 - 17:47
Подскажите пожалуйста, как можно подсчитать сколько записей сделано в подчиненной таблице?
Допустим, у меня есть родительская "Таблица1" и есть подчиненная "Таблица2", которая имеет "поле1" типа связь с "Таблицей1".
Необходимо выводить в "Таблица1" поле "ПолеХ" в котором будет считаться, сколько записей имеет таблица "Таблица2".
#2
Отправлено 17 Январь 2012 - 18:00
#3
Отправлено 17 Январь 2012 - 18:40
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
#4
Отправлено 17 Январь 2012 - 18:46
#5
Отправлено 17 Январь 2012 - 18:50
![:(](http://clientbase.ru/forum/public/style_emoticons/default/sad.png)
#6
Отправлено 17 Январь 2012 - 19:01
dolphin (17 Январь 2012 - 18:46) писал:
dolphin (17 Январь 2012 - 18:50) писал:
![:(](http://clientbase.ru/forum/public/style_emoticons/default/sad.png)
Вы прочли всю документацию по вычислениям?
#7
Отправлено 17 Январь 2012 - 19:11
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."90 WHERE `f1098` = {ID}"; $row = mysql_fetch_row($sqlQuery); $total = $row[0]; // всего записей return $total;
#8
Отправлено 17 Январь 2012 - 19:12
Цитата
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
#9
Отправлено 17 Январь 2012 - 19:17
![:(](http://clientbase.ru/forum/public/style_emoticons/default/sad.png)
#10
Отправлено 17 Январь 2012 - 19:19
dolphin (17 Январь 2012 - 19:11) писал:
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."90 WHERE `f1098` = {ID}"; $row = mysql_fetch_row($sqlQuery); $total = $row[0]; // всего записей return $total;
dolphin (17 Январь 2012 - 19:12) писал:
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
![;)](http://clientbase.ru/forum/public/style_emoticons/default/wink.png)
#11
Отправлено 17 Январь 2012 - 19:26
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
Код составил полазив по интернету, поискав ответы на вопрос как посчитать количество возвращенных запросом записей
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
Да, у меня локальная версия 1,9,5
#12
Отправлено 17 Январь 2012 - 19:29
$sqlQuery = "SELECT * FROM ". DATA_TABLE ."90 WHERE `f1098` = $ID"; $total = count($sqlQuery); return $total;
#13
Отправлено 17 Январь 2012 - 19:30
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
#14
Отправлено 17 Январь 2012 - 19:49
![:(](http://clientbase.ru/forum/public/style_emoticons/default/sad.png)
#15
Отправлено 17 Январь 2012 - 20:00
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."90 WHERE `f1098` = {ID}"; $total = $sqlQuery[0]; // всего записей $line['ДП'] = $total;теперь поле ДП, хоть и не равно у меня количеству строк в подчиненной таблице, но зато выводит буковку "S" )))))
#16
Отправлено 17 Январь 2012 - 20:30
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
$sqlQuery = "SELECT f1098 = $ID FROM ".DATA_TABLE."90"; $res = mysql_query($sqlQuery); $row = mysql_fetch_array($res); $total = $row[0]; $line['ДП'] = $total;
#17
Отправлено 17 Январь 2012 - 20:35
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
Случайным образом совместил два предыдущих запроса, получилось следующее:
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."90 WHERE `f1098` = $ID"; $res = mysql_query($sqlQuery); $row = mysql_fetch_array($res); $total = $row[0]; $line['ДП'] = $total;
Итого все считает! Вопрос можно считать закрытым
![:)](http://clientbase.ru/forum/public/style_emoticons/default/smile.png)
#18
Отправлено 04 Декабрь 2015 - 10:04
#19
Отправлено 04 Декабрь 2015 - 10:18
Цитата
Этот код практически универсальный, разве что до 1.9.5 использовалось {ID} вместо $ID, но с 1.9.5 ничего в этом плане не отменилось, т.е. код вполне рабочий. Другое дело, что сейчас рекомендуется другие функции использовать, например связку sql_query + sql_fetch_array, вместо стандартных mysql_query + mysql_fetch_array, или вообще, data_select (в данном случае). Подробности здесь.
#20
Отправлено 14 Декабрь 2015 - 11:53
$sql = "SELECT f4760 as client FROM ". DATA_TABLE ."350 WHERE f6530 = $ID AND f4890 = 'Есть у клиента'";
$res = sql_query($sql);
$row = sql_fetch_array($res);
$client = $row['client'];
$line['Центр системы'] = $client;
В $client передается цифровое значение ,его id , те работает ,но нужно чтоб было Название клиента!
Количество пользователей, читающих эту тему: 16
0 пользователей, 16 гостей, 0 анонимных