je requiert votre aide aujourd'hui car je suis bloqué sur un problème que je n'arrive pas à résoudre depuis un moment. J'ai fais pas mal de recherche et je n'arrive pas à trouver.
Mon application permet de gérer des fiche de frais. Le comptable doit appuyer sur le bouton "valider" puis plus tard "rembourser". Lorsque l'on appui sur le bouton "valider" une modal s'ouvre pour être sur que le comptable veut valider la ligne.
Chaque bouton ont un nom différent MAIS je n'arrive pas a faire en sorte que les boutons de la modale valide la bonne ligne. POURQUOI???
J'appuis sur le bouton valider de la 3ème ligne, la modal s'ouvre mais c'est la première ligne qui se valide. Je suppose que le problème vient du fait que les boutons ont tous le même noms mais je n'arrive pas a changer la chose de la même façon que les boutons de base.
Je mets mon code ci-dessous pour plus de compréhension.
Code : Tout sélectionner
<?php
require_once 'mesClasses/Cvisiteurs.php';
require_once 'includes/head.php';
require_once 'mesClasses/CligneFHFs.php';
require_once 'mesClasses/CficheFrais.php';
require_once 'includes/functions.php';
$ofraisForfaits = new CfraisForfaits();
$oFicheFraiss = new CficheFraiss();
$oLigneFHFs = new CligneFraisFHFs();
$oLigneFFs = new CligneFFs();
if(isset($_SESSION['mois'])){
?>
<div class="container">
<table class='table table-hover'>
<thead>
<tr class='bg-info'>
<th>Etat de la fiche</th>
<th>Identifiant du Visiteur</th>
<th>Mois</th>
<th>Nombre de justificatifs</th>
<th>Total validé en fonction justificatifs</th>
<th>Total des FF et FHF</th>
<th>Validation des Frais et mise en paiement</th>
<th>Frais remboursés</th>
</tr>
</thead>
<tbody>
<?php
$ocollFicheFraisByMois = $oFicheFraiss -> getFFByMois($date);
$ocollfraisForfaits = $ofraisForfaits ->getCollFraisForfait();
if($ocollFicheFraisByMois != null){
foreach ($ocollFicheFraisByMois as $LigneFF){
$nombtnV ='btnV'.$LigneFF->idVisiteur;
$nombtnR ='btnR'.$LigneFF->idVisiteur;
$nombtnVa;
$nombtnRb;
//var_dump($nombtnV);
//var_dump($nombtnR)
?>
<form id="formTableau" class="form-horizontal" role="form" method="POST">
<tr>
<td><?=$LigneFF->idEtat?></td>
<td><?=$LigneFF->idVisiteur?></td>
<td><?=$LigneFF->mois?></td>
<td><?= $LigneFF->nbJustificatifs != 0 ?'<input class="form-control" name="totalJustificatif" placeholder="Entrer justificatif validé" value="'.$LigneFF->nbJustificatifs.'" disabled required type="number" min="0" step="1">' : '<input class="form-control" name="totalJustificatif" placeholder="Entrer justificatif validé" required type="number" min="0" step="1">' ?></td>
<td><?= $LigneFF->montantValide != 0 ?'<input class="form-control" name="totalMontant" placeholder="Entrer montant validé" value="'.$LigneFF->montantValide.'" disabled required type="number" min="0" step="1">' :'<input class="form-control" name="totalMontant" placeholder="Entrer montant validé" required type="number" min="0" step="1">'?></td>
<td><?=$LigneSomme = $oLigneFHFs ->getTotalFHF ($LigneFF -> idVisiteur, $LigneFF -> mois) + $oLigneFFs ->getTotalFF($LigneFF -> idVisiteur, $LigneFF -> mois, $ocollfraisForfaits)?></td>
<td><button type="submit" name="<?=$nombtnV?>" <?=$LigneFF->idEtat =='CR'?'class="btn btn-info"':'class="btn btn-danger" disabled'?> data-toggle="modal" data-target="#myModal1">Valider</button></td>
<td><button type="submit" name="<?=$nombtnR?>" <?=$LigneFF->idEtat =='VA'?'class="btn btn-info"':'class="btn btn-danger" disabled'?> data-toggle="modal" data-target="#myModal2">Rembourser</button></td>
</tr>
<?php
if(isset($_POST["$nombtnV"]))
{
if(isset($_POST["totalJustificatif"]) && isset($_POST["totalMontant"]))
{
//var_dump($nombtnV);
$oLigneFHFs = new CligneFraisFHFs;
try {
$oFicheFraiss->Validation($LigneFF->idVisiteur, $LigneFF->mois, $_POST["totalJustificatif"], $_POST["totalMontant"]);
}
catch (Exception $ex) {
$errorMsg = "Erreur lors de la validation dans la base.".$ex->getMessage()." Prévenir l'administrateur.";
}
}
}
if(isset($_POST["$nombtnR"]))
{
//var_dump($nombtnRb);
$oLigneFHFs = new CligneFraisFHFs;
try {
$oFicheFraiss->Remboursement($LigneFF->idVisiteur, $LigneFF->mois);
}
catch (Exception $ex) {
$errorMsg = "Erreur lors de la validation dans la base.".$ex->getMessage()." Prévenir l'administrateur.";
}
}
?>
<!-- Modal valider -->
<div class="modal fade" id="myModal1" role="dialog">
<div class="modal-dialog">
<!--Contenue du Modal-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#FF0000">Avertissement</h4>
</div>
<div class="modal-body">
<p>Voulez vous vraiment valider la fiche de frais ?</p>
</div>
<div class="modal-footer">
<button type="submit" name="btnVa" class="btn btn-info btn-lg">Passer la fiche à l'état "valider"</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">NON</button>
</div>
</div>
</div>
</div>
<!--Fin Modal-->
<!-- Modal rembourser -->
<div class="modal fade" id="myModal2" role="dialog">
<div class="modal-dialog">
<!--Contenue du Modal-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" style="color:#FF0000">Avertissement</h4>
</div>
<div class="modal-body">
<p>Voulez vous vraiment rembourser la fiche de frais ?</p>
</div>
<div class="modal-footer">
<button type="submit" name="btnRb" class="btn btn-info btn-lg">Passer la fiche à l'état "rembourser"</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">NON</button>
</form>
</div>
</div>
</div>
</div>
<!--Fin Modal-->
<?php
}
}
}
?>
</tbody>
</table>