очень грубо выглядит так
рекомендую посмотреть реализацию вычислений в демо базе demo.clientbase.ru
например сумма по полю из подчиненной таблицы это можно подсмотреть
в вычислениях детализаций счета.
у меня примеры старые, мне кажется в 1.9.6 уже как-то изящней делают.
Но вполне должны быть рабочими, если не накосячил
получаешь ID записи основной таблицы
делаешь запрос в связанную
вариант 1 количество значений
$znachenID=$line['ID'];
//получаем количество значений с ID из основной таблицы, связь идет по полю fDDDD (это поле в связанной таблице, которое получет свое значение из основной таблице при связке)
$sqlQuery = "SELECT count(`fDDDD`) AS cnt FROM `".DATA_TABLE."NNN` WHERE (`status`<>'2' AND `fDDDD`='" . $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'];
вариант 2, сумма по какому либо полю в связанной таблице
$znachenID=$line['ID'];
//получаем количество значений с ID из основной таблицы, связь идет по полю fDDDD (это поле в связанной таблице, которое получет свое значение из основной таблице при связке)
//задача получить сумму по полю fXXXX, всех записей, которые относятся к определенному ID из основной таблицы
$sqlQuery = "SELECT sum(`fXXXX`) AS summa_po_polyu FROM `".DATA_TABLE."NNN` WHERE (`status`<>'2' AND `fDDDD`='" . $znachenID . "')";
$result = mysql_query($sqlQuery) or user_error(mysql_error() . "<br>" . $sqlQuery . "<br>", E_USER_ERROR);
$row = mysql_fetch_assoc($result);
//в итоге в вот здесь $row['summa_po_polyu'] будет находится сумма по полю fXXXX , для всех записей , где ID из основной таблицы, будет одинаковым с полем fDDDD в связанной таблице
//можно записать в какое-то поле основной таблицы
$line['Название поля для хранения суммы по полю fXXXX из связанной таблицы']=$row['summa_po_polyu'];
PS: www.php.net в закладки (там отличная документация с примерами), и еще ресурс по SQL какой-нибудь тоже в закладки
Сообщение отредактировал UmaCat: 13 Март 2013 - 16:33