У меня есть представление, которое рассчитывает количество запланированных встреч за последние 30 дней, 365 дней и количество пропущенных встреч за последние 30 дней.
Мне нужно поместить эти данные в таблицу, чтобы я мог заполнить модуль отчетов (я думал, что смогу сделать это из представления, но, оказывается, я не могу).
Родительская таблица: клиент
Детский стол: назначение
Просмотр: всего
Новая таблица: apt_total
В mysql я могу сделать вставку или обновление просто отлично, но когда я помещаю его в php, он не работает, как планировалось. Может быть 15-20 встреч для клиента в течение 30 дней, но я не хочу, чтобы в таблице apt_total было несколько записей, потому что тогда модуль отчетов выводит 15-20 разных промежуточных итогов. Я хотел бы сохранить его там, где в таблице apt_total столько строк, сколько у меня клиентов.
У всех таблиц есть поле «id», которое ссылается на клиентскую таблицу.
INSERT INTO apt_total (id, name, Last30days, Last365days, Alltime, NoShow) SELECT id, name, Last30days, Last365days, Alltime, NoShow from total3;
UPDATE apt_total, total3 SET apt_total.Last30days = total3.Last30days, apt_total.Last365days = total3.Last365days, apt_total.Alltime = total3.Alltime, apt_total.NoShow = total3.NoShow WHERE apt_total.id = total3.id;
ВОПРОС: Какой самый эффективный способ выполнить это в php?
Я занимаюсь этим более 24 часов, и я чувствую, что собираюсь взломать. Любая помощь будет принята с благодарностью.
PHP код:
function afterSave(&$record)
{
$app =& Dataface_Application::getInstance();
$record = $app->getRecord();
$sql = "INSERT INTO apt_total (id, name, Last30days, Last365days, Alltime, NoShow) SELECT id, name, Last30days, Last365days, Alltime, NoShow from total3";
$res = xf_db_query($sql, df_db());
}