我已经为此工作了几个星期,但我再次面临文件问题。此代码表首先获取数据库中存在的所有条目,然后在获取一系列 id 后,使用附加的 WHERE 子句启动相同的查询来搜索属于客户的特定条目。< /span>
最后,比较两个结果数组,以搜索数据库中存在但尚未分配给任何客户的任何条目,将其打印到 csv 文件中,以便启动代码的用户可以解决阻止这些条目链接到客户的问题。
过去我遇到了一些有关文件和权限的问题,但这次没有出现错误,也没有消息提醒我我无权在所需位置打开文件或其他任何内容。
我尝试沿着工作表插入一些var_dump(),看看该过程是否真的达到了fopen() 的效果。它只是跳过它,不创建文件也不写入数据。
我查看了服务器日志,但没有发现任何内容,并且启用了错误和警告。
这将从数据库中获取所有条目。
$stmtOutgoing = $connAccounting->prepare("SELECT a.`zone`, b.`source_customer_billing_zone_id`, b.`source_external_subscriber_id`, count(*) AS llamadas, SUM((CEIL(b.`duration`))) AS duracion, SUM((b.`source_customer_cost`)/100) AS total, SUM((b.`source_customer_cost`)/100)/SUM((CEIL(b.`duration`))) AS precio
FROM `billing`.billing_zones a INNER JOIN cdr b
ON a.`id` = b.`source_customer_billing_zone_id`
WHERE source_provider_id = :reseller_id
GROUP BY b.`source_external_subscriber_id`, a.`zone`
ORDER BY total desc");
$stmtOutgoing->execute(array('reseller_id' => $reseller));
foreach ($stmtOutgoing as $row) {
array_push($totalEntries, $row);
echo "CDR Entry Added ";
}
获取 ids 后,将有一个 loop 将所有 ids 插入此查询中:
foreach ($invoices as $invoice) {
if ($invoice['date'] >= $minDateSearchTstmp && !empty($invoice["customFields"]) && $invoice["customFields"][0]["field"] == "ID_EXTERNAL" && $invoice["customFields"][0]["value"] != "") {
$z = 0;
while ( isset($invoice['customFields'][$z]['field']) && $invoice['customFields'][$z]['field'] == 'ID_EXTERNAL' ) {
$source_external_subscriber_id = $invoice["customFields"][0]["value"];
renewConnection($connAccounting, $stmtOutgoing, $stmtIncoming);
require '../connections/accountingConnection.php';
}
}
}
}
噜噜哒