Перейти к содержимому


Как подсчитать сколько записей сделано в подчиненной таблице?


Сообщений в теме: 38

#21 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Декабрь 2015 - 12:00

2 варианта:
1. Сделайте поле $line['Центр системы'] полем связи с клиентом, тогда подстановка id в данном вычислении автоматически приведет к отображению нужных данных, например Названия.
2. Если уж нельзя по каким то причинам менять тип поля, необходимо в самом вычислении подтягивать Название через запрос к таблице клиентов.

#22 hers

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений

Отправлено 14 Декабрь 2015 - 12:13

Просмотр сообщенияCbCoder (14 Декабрь 2015 - 12:00) писал:

2 варианта:
1. Сделайте поле $line['Центр системы'] полем связи с клиентом, тогда подстановка id в данном вычислении автоматически приведет к отображению нужных данных, например Названия.
2. Если уж нельзя по каким то причинам менять тип поля, необходимо в самом вычислении подтягивать Название через запрос к таблице клиентов.

Получилось , я сделал это поле связью с клиентом по id , и теперь выдает те же цифры id но уже по ним можно перейти в клиента!)

ps , круто ,вместо id пометил ) имя организации в поле связи и теперь выводит кликабельное название организации

Сообщение отредактировал hers: 14 Декабрь 2015 - 12:19


#23 hers

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений

Отправлено 31 Декабрь 2015 - 13:41

Просмотр сообщенияCbCoder (14 Декабрь 2015 - 12:00) писал:

2 варианта:
1. Сделайте поле $line['Центр системы'] полем связи с клиентом, тогда подстановка id в данном вычислении автоматически приведет к отображению нужных данных, например Названия.
2. Если уж нельзя по каким то причинам менять тип поля, необходимо в самом вычислении подтягивать Название через запрос к таблице клиентов.

А не подскажите ,как подтягивать название через запрос к таблице , просто полученные данные я использую в яваскрипт ,а он не ассоциирует id ,также как это делает поле типа связь!)
Нужно чтобы из поля типа связь вытаскивался не id поля ,а конкретное Название клиента!
СПС!


PS / Уже давно все сделал,сам разобрался,вообще круто получается , теперь буду аяксить что-нибудь .

Сообщение отредактировал hers: 06 Январь 2016 - 12:28


#24 hers

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений

Отправлено 06 Январь 2016 - 12:32

Нашел косяк , в клиентской базе а разделе активность администратора !
Я под админом изменял вычисление и когда зашел в лог , и нажал "Административный" лог , он пишет Администратор такой-то " изменил вычисление На " и пытается вывести это вычисление ))), а я вижу новые div 'ы и тд ,то что в этом вычислении я делал ,но оно почему то не работает только фон меняется из css и надписи ...ну Вы поняли?

Извините за нудятину...)

#25 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 11 Январь 2016 - 09:55

Просмотр сообщенияhers (06 Январь 2016 - 12:32) писал:

Нашел косяк , в клиентской базе а разделе активность администратора !
Я под админом изменял вычисление и когда зашел в лог , и нажал "Административный" лог , он пишет Администратор такой-то " изменил вычисление На " и пытается вывести это вычисление ))), а я вижу новые div 'ы и тд ,то что в этом вычислении я делал ,но оно почему то не работает только фон меняется из css и надписи

Отправьте заявку в ТП с примером или скриншотом хотя бы, подправим если косяк.

#26 hers

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений

Отправлено 14 Январь 2016 - 13:37

Не подскажите можно ли в поле вносить информацию ,а она чтоб шифровалась хэшунцией , и хранилась , а при считывании нужно было бы ввести ключ после чего инфа бы отразилась?

#27 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 14 Январь 2016 - 14:17

А вы зачем все вопросы в одну тему пишете? Заголовок темы не соответствует вашему текущему вопросу. Под каждый свой вопрос необходимо создавать новую тему, с осмысленным заголовком, чтобы затем было проще искать информацию. Существующую можно продолжать только в случае если ваш вопрос логически связан с этой темой и ее сообщениями, неважно вы ее создали или кто-то другой.

По вопросу: во-первых, то о чем вы пишете, называется двусторонним шифрованием с помощью ключа, тогда как хэширование является односторонним процессом, и расшифровать результат хэш-функции в принципе невозможно (можно только подобрать результат путем перебора из библиотеки, если он там есть). Во-вторых, двустороннее шифрование теоретически наверное можно сделать, но готовых рецептов у меня нет. Штатными же средствами такое не предусмотрено на данный момент

#28 hers

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений

Отправлено 14 Январь 2016 - 15:12

Просмотр сообщенияCbCoder (14 Январь 2016 - 14:17) писал:

А вы зачем все вопросы в одну тему пишете? Заголовок темы не соответствует вашему текущему вопросу. Под каждый свой вопрос необходимо создавать новую тему, с осмысленным заголовком, чтобы затем было проще искать информацию. Существующую можно продолжать только в случае если ваш вопрос логически связан с этой темой и ее сообщениями, неважно вы ее создали или кто-то другой.

По вопросу: во-первых, то о чем вы пишете, называется двусторонним шифрованием с помощью ключа, тогда как хэширование является односторонним процессом, и расшифровать результат хэш-функции в принципе невозможно (можно только подобрать результат путем перебора из библиотеки, если он там есть). Во-вторых, двустороннее шифрование теоретически наверное можно сделать, но готовых рецептов у меня нет. Штатными же средствами такое не предусмотрено на данный момент


Извиняюсь ,поторопился!)

/Все понял , буду делать! Наверно сделаю)

Сообщение отредактировал hers: 14 Январь 2016 - 15:14


#29 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 26 Март 2018 - 02:17

Что то не получается сделать подсчет количества строк в подтаблице по аналогии.
Сделал такое вычисление

$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = $ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;
где 270-номер подтаблицы, а 6580-поле связи

У меня подтаблица связывается с основной таблицей не по полю ID, а по полю "Номер заявки"
Также пробовал и такое вычисление:

$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = $'Номер заявки'";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;

Но количество все равно не подсчитывается.
В чем ошибка?

#30 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 30 Март 2018 - 00:22

Подскажите, плиз, по вопросу.
Не знаю как правильно написать.

#31 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 30 Март 2018 - 11:44

Просмотр сообщенияf-jeka (30 Март 2018 - 00:22) писал:

Подскажите, плиз, по вопросу.
Не знаю как правильно написать.
Ошибка в тексте запроса
$nomer_zayavki = intval($line['fXXX']['id']);//где fXXX - поле связи "Номер заявки"
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = ".$nomer_zayavki." AND `status`=0";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;

"...Сижу, паяю. CRM починяю..."
Мои разработки

#32 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 30 Март 2018 - 23:47

Просмотр сообщенияmaksn (30 Март 2018 - 11:44) писал:

Ошибка в тексте запроса
$nomer_zayavki = intval($line['fXXX']['id']);//где fXXX - поле связи "Номер заявки"
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = ".$nomer_zayavki." AND `status`=0";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;

Спасибо за подсказку.
Но результат работы вычисления нулевой.
В поле "Исходящих" всегда пишет 0

#33 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 02 Апрель 2018 - 13:27

Просмотр сообщенияf-jeka (30 Март 2018 - 23:47) писал:

Спасибо за подсказку.
Но результат работы вычисления нулевой.
В поле "Исходящих" всегда пишет 0
Сразу не обратил внимания на это
$nomer_zayavki = intval($line['fXXX']['id']);//где fXXX - поле связи "Номер заявки"
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = ".$nomer_zayavki." AND `status`=0";
/***********ЭТО НЕ ПРАВИЛЬНО******
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
*********************************/
/*********Должно быть так********/
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
/********************************/
$total = $row[0];
$line['Исходящих'] = $total;

Сообщение отредактировал maksn: 02 Апрель 2018 - 13:29

"...Сижу, паяю. CRM починяю..."
Мои разработки

#34 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 03 Апрель 2018 - 00:34

Спасибо за помощь.
Но все равно где то ошибка.
Сейчас во всех ячейках выводится одинаковое число 371.
Я так полагаю это общее количество всех записей в таблице 270

#35 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 04 Апрель 2018 - 13:32

Казалось бы простое вычисление.
Но все не так просто как выясняется.

#36 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 04 Апрель 2018 - 15:30

Подскажите, плиз, в чем ошибка. Очень нужно такое вычисление.

#37 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Апрель 2018 - 14:02

А вы fXXX то заменили на нужное значение? В вашем случае это f6580.

#38 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 07 Апрель 2018 - 11:33

Просмотр сообщенияCbCoder (05 Апрель 2018 - 14:02) писал:

А вы fXXX то заменили на нужное значение? В вашем случае это f6580.
Конечно заменил)))

В общем почему то сработала такая конструкция:
$nomer_zayavki = intval($line['Номер заявки']);//где f1961 - поле связи "Номер заявки"
$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = ".$nomer_zayavki." AND `status`=0";
$res = sql_query($sqlQuery);
$row = sql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;

#39 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 07 Апрель 2018 - 15:50

Просмотр сообщенияf-jeka (26 Март 2018 - 02:17) писал:

Что то не получается сделать подсчет количества строк в подтаблице по аналогии.
Сделал такое вычисление

$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = $ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;
где 270-номер подтаблицы, а 6580-поле связи

У меня подтаблица связывается с основной таблицей не по полю ID, а по полю "Номер заявки"
Также пробовал и такое вычисление:

$sqlQuery = "SELECT COUNT(*) FROM ". DATA_TABLE ."270 WHERE `f6580` = $'Номер заявки'";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$total = $row[0];
$line['Исходящих'] = $total;

Но количество все равно не подсчитывается.
В чем ошибка?

Что то тоже сразу внимания не обратил. Ваша ошибка с самого начала - это то что по вашим рассуждениям "подтаблица связывается с основной таблицей не по полю ID, а по полю "Номер заявки"" - это заблуждение. Поле связи ВСЕГДА связано по ID. То что вы задаете в настройках поля - это всего лишь отображаемое значение, а на хранение в БД и соответственно работу запросов никакого влияния не оказывает. Так что первый код изначально был верный (за исключением mysql_*) . А то что вы сейчас сделали - работает только из-за того что значения в поле Номер совпадают с ID, что бывает часто, но не всегда.

А maksn просто перепутал вычисление в основной записи с вычислением в подтаблице, поэтому его код не работал, хотя он и верный (если задан в нужном месте).





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных