1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<?php
try{
$bdd=new PDO('mysql:host=localhost;dbname=pcg;charset=utf8', 'root','');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);// afficher les erreurs php
}catch(Exception $e){
die('Erreur :' . $e->getMessage());
}
//Sélection des numéros et noms de compte dans le plan comptable
$response = $bdd->query('SELECT * FROM plancomptable');
$plancomptable = $response->fetchAll();
$response->closeCursor();
//Sélection des écritures comptables correspondant au numéro de compte
$responses = $bdd->query('SELECT * FROM ecriturescomptables E INNER JOIN plancomptable B ON E.numerocompte = B.compte ORDER BY E.numerocompte, E.date_operation');
$ecritures = $responses->fetchAll();
setlocale(LC_ALL, ['fr_FR.UTF8','fra', 'french']);
$responses->closeCursor();
if(!empty($_POST)){
echo'<script>window.location.href("grandlivre.php")</script>';
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../css/bootstrap.css">
<link rel="stylesheet" href="../css/style.css">
<link rel="stylesheet" href="../css/carousel.css">
<title>Comptabilité</title>
<script src="../js/jquery.js"></script>
<script src="../js/bootstrap.min.js"></script>
</head>
<body>
<div id="grandlivre">
<div class="container">
<div class="row">
<div class="col-sm-12">
<h1 style="font-size:25px;text-align:center;color:black;">Grand livre</h1>
<table>
<thead>
<tr>
<th class="journal">Journal</th>
<th class="dateecritures">Date</th>
<th class="libelle">Libellé écritures</th>
<th class="debit">Débit</th>
<th class="credit">Crédit</th>
</tr>
</thead>
<tbody>
<?php
$comptePrecedent = 0;
foreach( $ecritures as $ecriture ) {
if( $comptePrecedent != $ecriture['compte'] ) {
$dateoperation = new DateTime($ecriture['date_operation']);
$debit = $ecriture['debit'];
$credit = $ecriture['credit'];echo '<tr class="titrecompte"><th colspan="5">'.htmlspecialchars($ecriture['compte']).'. '.htmlspecialchars($ecriture['libelle_plan']).'</th></tr>';
}
if($debit==0){
echo '<tr><td>'.htmlspecialchars($ecriture['journal']).'</td><td>'.utf8_encode(strftime('%d %B %Y', $dateoperation->format('U'))).'</td><td>'.htmlspecialchars($ecriture['libelle_comptable']).'</td><td>'.''.'</td><td>'.number_format($credit, 2, ',', ' ').'</td></tr>';
}else {
echo '<tr><td>'.htmlspecialchars($ecriture['journal']).'</td><td>'.utf8_encode(strftime('%d %B %Y', $dateoperation->format('U'))).'</td><td>'.htmlspecialchars($ecriture['libelle_comptable']).'</td><td>'.number_format($debit, 2, ',', ' ').'</td><td>'.''.'</td></tr>';
}
$compte = $ecriture['compte'];
$libelle_plan = $ecriture['libelle_plan'];
$totaldebiteur = $ecriture['debit'];
$totalcrediteur= $ecriture['credit'];
$soldedebiteur = $ecriture['debit'] - $ecriture['credit'];
$soldecrediteur = $ecriture['credit'] - $ecriture['debit'];
//Insertion et MAJ dans la balance
$balance = $bdd->prepare("INSERT INTO balance(compte, libelle_plan, soldedebiteur, soldecrediteur) VALUES(:compte, :libelle_plan, :soldedebiteur, :soldecrediteur)");
$balance->execute(array('compte' => $compte,
'libelle_plan' => $libelle_plan,
'soldedebiteur' => $soldedebiteur,
'soldecrediteur' => $soldecrediteur));
$balance->closeCursor();
//Calcul des totaux débit et crédit et solde respectif
$response1=$bdd->query('SELECT SUM(debit) AS totaldebiteur, SUM(credit) AS totalcrediteur FROM ecriturescomptables');
$totaux=$response1->fetchAll();
// Affichage des totaux débiteur et créditeur
echo '<tr><td>'.''.'</td><td>'.''.'</td><td>'.''.'</td><td class="totaux">'.number_format($totaldebiteur, 2, ',', ' ').'</td><td class="totaux">'.number_format($totalcrediteur, 2, ',', ' ').'</td></tr>';
// Affichage du solde débiteur ou créditeur
if($totaldebiteur > $totalcrediteur){
echo '<tr><td>'.''.'</td><td>'.''.'</td><td style=font-weight:bold;>'.'Solde débiteur'.'</td><td class="solde">'.number_format($soldedebiteur, 2, ',', ' ').'</td><td>'.''.'</td></tr>';
}else {
echo '<tr><td>'.''.'</td><td>'.''.'</td><td style=font-weight:bold;>'.'Solde créditeur'.'</td><td>'.''.'</td><td class="solde">'.number_format($soldecrediteur, 2, ',', ' ').'</td></tr>';
}
$comptePrecedent = $ecriture['compte'];
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script type="application/javascript" src="../js/jquery-3.4.1.min.js"></script>
<script src="../js/script.js"></script>
</body>
</html> |
Partager