Как подсчитать сколько записей сделано в подчиненной таблице?
#1
Отправлено 17 Январь 2012 - 17:47
Подскажите пожалуйста, как можно подсчитать сколько записей сделано в подчиненной таблице?
Допустим, у меня есть родительская "Таблица1" и есть подчиненная "Таблица2", которая имеет "поле1" типа связь с "Таблицей1".
Необходимо выводить в "Таблица1" поле "ПолеХ" в котором будет считаться, сколько записей имеет таблица "Таблица2".
#2
Отправлено 17 Январь 2012 - 18:00
#3
Отправлено 17 Январь 2012 - 18:40
#4
Отправлено 17 Январь 2012 - 18:46
#5
Отправлено 17 Январь 2012 - 18:50
#6
Отправлено 17 Январь 2012 - 19:01
dolphin (17 Январь 2012 - 18:46) писал:
dolphin (17 Январь 2012 - 18:50) писал:
Вы прочли всю документацию по вычислениям?
#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
Цитата
#9
Отправлено 17 Январь 2012 - 19:17
#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) писал:
#11
Отправлено 17 Январь 2012 - 19:26
Код составил полазив по интернету, поискав ответы на вопрос как посчитать количество возвращенных запросом записей глядишь в цель выстрелил, но так и не получилось...
Да, у меня локальная версия 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
#14
Отправлено 17 Январь 2012 - 19:49
#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
$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
Случайным образом совместил два предыдущих запроса, получилось следующее:
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."90 WHERE `f1098` = $ID"; $res = mysql_query($sqlQuery); $row = mysql_fetch_array($res); $total = $row[0]; $line['ДП'] = $total;
Итого все считает! Вопрос можно считать закрытым Всем спасибо!
#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 , те работает ,но нужно чтоб было Название клиента!
Количество пользователей, читающих эту тему: 10
0 пользователей, 10 гостей, 0 анонимных