本文整理汇总了PHP中DoliDB::fetch_array方法的典型用法代码示例。如果您正苦于以下问题:PHP DoliDB::fetch_array方法的具体用法?PHP DoliDB::fetch_array怎么用?PHP DoliDB::fetch_array使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DoliDB
的用法示例。
在下文中一共展示了DoliDB::fetch_array方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: vat_by_date
//.........这里部分代码省略.........
$sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, $m, false)) . "'";
} else {
if ($y) {
$sql .= " AND f.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'";
$sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'";
}
}
if ($q) {
$sql .= " AND (date_format(f.datef,'%m') > " . ($q - 1) * 3 . " AND date_format(f.datef,'%m') <= " . $q * 3 . ")";
}
if ($date_start && $date_end) {
$sql .= " AND f.datef >= '" . $db->idate($date_start) . "' AND f.datef <= '" . $db->idate($date_end) . "'";
}
$sql .= " AND (d.product_type = 0";
// Limit to products
$sql .= " AND d.date_start is null AND d.date_end IS NULL)";
// enhance detection of service
$sql .= " ORDER BY d.rowid, d." . $fk_facture;
//print $sql;
}
//print $sql.'<br>';
if (!$sql) {
return -1;
}
if ($sql == 'TODO') {
return -2;
}
if ($sql != 'TODO') {
dol_syslog("Tax.lib.php::vat_by_date", LOG_DEBUG);
$resql = $db->query($sql);
if ($resql) {
$rate = -1;
$oldrowid = '';
while ($assoc = $db->fetch_array($resql)) {
if (!isset($list[$assoc['rate']]['totalht'])) {
$list[$assoc['rate']]['totalht'] = 0;
}
if (!isset($list[$assoc['rate']]['vat'])) {
$list[$assoc['rate']]['vat'] = 0;
}
if (!isset($list[$assoc['rate']]['localtax1'])) {
$list[$assoc['rate']]['localtax1'] = 0;
}
if (!isset($list[$assoc['rate']]['localtax2'])) {
$list[$assoc['rate']]['localtax2'] = 0;
}
if ($assoc['rowid'] != $oldrowid) {
$oldrowid = $assoc['rowid'];
$list[$assoc['rate']]['totalht'] += $assoc['total_ht'];
$list[$assoc['rate']]['vat'] += $assoc['total_vat'];
$list[$assoc['rate']]['localtax1'] += $assoc['total_localtax1'];
$list[$assoc['rate']]['localtax2'] += $assoc['total_localtax2'];
}
$list[$assoc['rate']]['dtotal_ttc'][] = $assoc['total_ttc'];
$list[$assoc['rate']]['dtype'][] = $assoc['dtype'];
$list[$assoc['rate']]['datef'][] = $assoc['datef'];
$list[$assoc['rate']]['company_name'][] = $assoc['company_name'];
$list[$assoc['rate']]['company_id'][] = $assoc['company_id'];
$list[$assoc['rate']]['ddate_start'][] = $db->jdate($assoc['date_start']);
$list[$assoc['rate']]['ddate_end'][] = $db->jdate($assoc['date_end']);
$list[$assoc['rate']]['facid'][] = $assoc['facid'];
$list[$assoc['rate']]['facnum'][] = $assoc['facnum'];
$list[$assoc['rate']]['type'][] = $assoc['type'];
$list[$assoc['rate']]['ftotal_ttc'][] = $assoc['ftotal_ttc'];
$list[$assoc['rate']]['descr'][] = $assoc['descr'];
$list[$assoc['rate']]['totalht_list'][] = $assoc['total_ht'];
示例2: tva_paye
/**
* Gets VAT to pay for the given month of the given year
* The function gets the VAT in split results, as the VAT declaration asks
* to report the amounts for different VAT rates as different lines
*
* @param DoliDB $db Database handler object
* @param int $y Year
* @param int $q Year quarter (1-4)
* @return array
*/
function tva_paye($db, $y, $q)
{
global $conf;
if ($conf->global->ACCOUNTING_MODE == "CREANCES-DETTES") {
// Si on paye la tva sur les factures dues (non brouillon)
$sql = "SELECT d.fk_facture_fourn as facid, f.ref_supplier as facnum, d.tva_tx as rate, d.total_ht as totalht, d.tva as amount";
$sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
$sql .= ", " . MAIN_DB_PREFIX . "facture_fourn_det as d";
$sql .= ", " . MAIN_DB_PREFIX . "societe as s";
$sql .= " WHERE f.fk_soc = s.rowid";
$sql .= " AND f.entity = " . $conf->entity;
$sql .= " AND f.fk_statut = 1 ";
$sql .= " AND f.rowid = d.fk_facture_fourn ";
$sql .= " AND date_format(f.datef,'%Y') = '" . $y . "'";
$sql .= " AND (round(date_format(f.datef,'%m')) > " . ($q - 1) * 3;
$sql .= " AND round(date_format(f.datef,'%m')) <= " . $q * 3 . ")";
$sql .= " ORDER BY rate, facid ";
} else {
// Si on paye la tva sur les payments
}
$resql = $db->query($sql);
if ($resql) {
$list = array();
$rate = -1;
while ($assoc = $db->fetch_array($resql)) {
if ($assoc['rate'] != $rate) {
//new rate
$list[$assoc['rate']]['totalht'] = $assoc['totalht'];
$list[$assoc['rate']]['vat'] = $assoc['amount'];
$list[$assoc['rate']]['facid'][] = $assoc['facid'];
$list[$assoc['rate']]['facnum'][] = $assoc['facnum'];
} else {
$list[$assoc['rate']]['totalht'] += $assoc['totalht'];
$list[$assoc['rate']]['vat'] += $assoc['amount'];
if (!in_array($assoc['facid'], $list[$assoc['rate']]['facid'])) {
$list[$assoc['rate']]['facid'][] = $assoc['facid'];
$list[$assoc['rate']]['facnum'][] = $assoc['facnum'];
}
}
$rate = $assoc['rate'];
}
return $list;
} else {
dol_print_error($db);
}
}