Cher forum,
Je cherche à créer un tableau composé d'écritures comptables, qui sera envoyé dans un csv.
Pour chaque enregistrement en BDD, on crée deux lignes à exporter : un débit et un crédit.
Voici ce que j'ai fait pour l'instant :
Au bout du compte, au lieu d'avoir 17 écritures (soit 34 lignes), j'ai deux tableaux côte à côte et des doublons...
HELP please !
Je cherche à créer un tableau composé d'écritures comptables, qui sera envoyé dans un csv.
Pour chaque enregistrement en BDD, on crée deux lignes à exporter : un débit et un crédit.
Voici ce que j'ai fait pour l'instant :
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Expires: 0');
header("Pragma: no-cache");
$output = fopen("php://output", "w");
fputcsv($output, array('num_ecriture', 'code_journal', 'date', 'num_facture', 'compte_comptable', 'compte_auxiliaire', 'libelle', 'debit', 'credit'), ";");
$sql_export = "SELECT * from " . $_SESSION["table"] . " ORDER BY date, num_facture DESC";
$result_export = mysqli_query($mysqli, $sql_export);
if(!mysqli_query($mysqli, $sql_export))
{
echo "alerte : Erreur EXPORT MySQL sur la table " .$_SESSION["table"] ."";
} else
{
while($row = mysqli_fetch_array($result_export))
{
if ($_SESSION["fis_ref"] == "REP")
{
if ($row['moyen_de_paiement'] == "carte bancaire")
{
$cj = "RCB";
$date = date("d/m/Y", strtotime($row['date']));
$fact = $row['num_facture'];
$lib = utf8_decode($row['client_fournisseur']);
$montant = str_replace('.', ',', $row['montant']);
$dc = $row['debit_credit'];
// Règlements
if (substr($row['note'], 0, 6) == "Stripe") {
$cc = 58050000;
} else {
$cc = 58030000;
}
$cptea = $row['compte_auxiliaire'];
if ($dc == "credit") {
$debit = $montant;
$credit = "";
} else if ($dc == "debit") {
$debit = "";
$credit = $montant;
}
$export1 = array($fact, $cj, $date, $fact, $lib, $cc, $cptea, $debit, $credit);
// Contrepartie règlements
$cptec = $row['compte_tiers'];
$cptea = $row['compte_auxiliaire'];
if (substr($cptec,0,3) == "411") {
$cc = $cptea;
} else {
$cc = $cptec;
}
if ($dc == "credit") {
$debit = "";
$credit = $montant;
} else if ($dc == "debit") {
$debit = $montant;
$credit = "";
}
$export2 = array($fact, $cj, $date, $fact, $lib, $cc, $cptea, $debit, $credit);
}
$export = array_merge($export1, $export2);
fputcsv($output, $export, ";");
}
Au bout du compte, au lieu d'avoir 17 écritures (soit 34 lignes), j'ai deux tableaux côte à côte et des doublons...
HELP please !