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


Корректировка вычисления


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

#21 UmaCat

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

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

Отправлено 13 Март 2013 - 16:07

если нужно чтобы расчет производился при создании связи в связанной таблице то будет вот так
вычисление поставить на событие "изменение поля", вичисление должно быть в связанной таблице, не в основной.

$znachenID=$line['ЗДЕСЬ ИМЯ СВЯЗАННОГО ПОЛЯ в СВЯЗАННОЙ ТАБЛИЦЕ'];

//получаем количество значений с таким же значением какое занесли
//поле 1751 - содержит связь с основной таблицей, соответственно ниже мы считаем сколько раз повторено такое же значение в этом поле
$sqlQuery = "SELECT count(`1751`) AS cnt FROM `".DATA_TABLE."121` WHERE (`status`<>'2' AND `1751`='" . $znachenID . "')";
$result = mysql_query($sqlQuery) or user_error(mysql_error() . "<br>" . $sqlQuery . "<br>", E_USER_ERROR);
$row = mysql_fetch_assoc($result);

//в итоге в вот здесь $row['cnt'] будет находится количество записей в связанной таблице
//можно записать в какое-то поле основной таблицы
$line['ЗДЕСЬ ИМЯ СВЯЗАННОГО ПОЛЯ в СВЯЗАННОЙ ТАБЛИЦЕ']['ЗДЕСЬ ИМЯ ПОЛЯ В ОСНОВНОЙ ТАБЛИЦЕ КУДА НАДО ЗАНЕСТИ ДАННЫЕ О КОЛИЧЕСТВЕ']=$row['cnt'];

вы уже пробовали такой вариант, см. выше, только вот переменная znachenID у вас брала информацию не из того поля

я во всех примерах в первой строке забыл про $line['']

Сообщение отредактировал UmaCat: 13 Март 2013 - 16:17


#22 ber

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

  • Пользователи
  • PipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 13 Март 2013 - 18:22

Ошибка:
Fatal error: Unknown column '1751' in 'field list'
SELECT count(`1751`) AS cnt FROM `cb_data121` WHERE (`status`<>'2' AND `1751`='Array')
in C:\apache\localhost\www\cb\include\functions1.php(264) : eval()'d code on line 6

Вот вычисление которое указал:
$znachenID=$line['Забронировать за'];
//получаем количество значений с таким же значением какое занесли
//поле 1751 - содержит связь с основной таблицей, соответственно ниже мы считаем сколько раз повторено такое же значение в этом поле
$sqlQuery = "SELECT count(`1751`) AS cnt FROM `".DATA_TABLE."121` WHERE (`status`<>'2' AND `1751`='" . $znachenID . "')";
$result = mysql_query($sqlQuery) or user_error(mysql_error() . "<br>" . $sqlQuery . "<br>", E_USER_ERROR);
$row = mysql_fetch_assoc($result);
//в итоге в вот здесь $row['cnt'] будет находится количество записей в связанной таблице
//можно записать в какое-то поле основной таблицы
$line['Забронировать за']['Куплено автомобилей']=$row['cnt'];

www.its-truck.ru - Группа компаний ИТС
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто

#23 UmaCat

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

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

Отправлено 14 Март 2013 - 08:53

f1751
забыли букву f в начале
причем везде

$sqlQuery = "SELECT count(`f1751`) AS cnt FROM `".DATA_TABLE."121` WHERE (`status`<>'2' AND `f1751`='" . $znachenID . "')";


#24 ber

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

  • Пользователи
  • PipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 14 Март 2013 - 14:07

добавил f
В результате везде прописывается 58 в поле ['Забронировать за']['Куплено автомобилей']
www.its-truck.ru - Группа компаний ИТС
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто





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

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