Merci pour vos réponses,
Concrètement j'ai un fichier qui se nomme function.php dedans j'ai toutes mes fonctions.
une fonction lis les éléments du client nommé recuperation_element_achat_client()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// Lecture cartable client formation effectué
function recuperation_element_achat_client(){
$bdd = connexion_bdd();
$requete = $bdd->query('SELECT
tbl_produit.nom_produit,
tbl_sous_produit.nom_sous_produit,
tbl_produit_client.statut_theorique,tbl_produit_client.statut_pratique,tbl_produit_client.date_enregistrement,tbl_produit_client.id_produit_client,
tbl_client.id_client
FROM `tbl_produit_client`
INNER JOIN tbl_client ON tbl_produit_client.id_client = tbl_client.id_client
INNER JOIN tbl_session_sous_produit ON tbl_produit_client.id_tbl_session_sous_produit = tbl_session_sous_produit.id_tbl_session_sous_produit
INNER JOIN tbl_sous_produit ON tbl_session_sous_produit.id_sous_produit = tbl_sous_produit.id_sous_produit
INNER JOIN tbl_produit ON tbl_sous_produit.id_produit = tbl_produit.id_produit
WHERE tbl_client.id_client ='.intval($_GET['id_client']).'
ORDER by tbl_produit.nom_produit' );
$resultat= $requete->fetchAll();
return $resultat;
} |
Une autre fonction affiche les éléments dans un tableau nommé
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
|
function affichage_achat_client_etat2 ( $tableau )
{
$ndd = "http://".$_SERVER["SERVER_NAME"];
$resultat = '';
$resultat .= "
<thead>
<tr>
<th class='min-tablet'>Formation</th>
<th class='min-tablet'>CACES</th>
<th class='min-tablet'>Etat Théorique</th>
<th class='min-tablet'>Etat Pratique</th>
<th class='min-tablet'>Notation</th>
<th class='min-tablet'>Date </th>
<th class='min-tablet'>Document </th>
</tr>
</thead>
<tbody>";
foreach ( $tableau as $information ){
if ($information['statut_theorique'] ){
$etat_theorique = "<img src=' ".$ndd."/img/element-actif.gif' class='img-logo centeretat ' alt=''/>";
}
else{
$etat_theorique = "<img src=' ".$ndd."/img/element-nonactif.gif' class='img-logo centeretat ' alt=''/>";
}
if ($information['statut_pratique'] ){
$etat_pratique = "<img src=' ".$ndd."/img/element-actif.gif' class='img-logo centeretat ' alt=''/>";
}
else{
$etat_pratique = "<img src=' ".$ndd."/img/element-nonactif.gif' class='img-logo centeretat ' alt=''/>";
}
if ($information['statut_theorique'] AND $information['statut_pratique'] ==1 ){
$attestation = "<a target='_blank' href='".$ndd."/elements/attestation-stage.php?id_client=".$information['id_client']."&&id_produit_client=".$information['id_produit_client']."' <i class='fa fa-trophy'></i></a>";
}
elseif($information['statut_theorique'] == 0 AND $information['statut_pratique'] == 0 ){
$attestation="";
}
elseif($information['statut_theorique'] == 1 AND $information['statut_pratique'] == 0 ){
$attestation="Pratique a revoir";
}
elseif($information['statut_theorique'] == 0 AND $information['statut_pratique'] == 1 ){
$attestation="Thérorie a revoir";
}
$resultat .= "<tr>";
$resultat .= "
<td>".$information['nom_produit']."</td>
<td>".$information['nom_sous_produit']."</td>
<td>".$etat_theorique."</td>
<td>".$etat_pratique."</td>
<td><a href='#modal-evaluation' data-id-produit-client=".$information['id_produit_client']." data-toggle='modal' class='btn btn-primary btn-sm'> <i class='fa fa-check' aria-hidden='true'></i> </a></td>
<td>Le ".date('d/m/Y',strtotime($information['date_enregistrement']))."</td>
<td>
".$attestation."
</td>
";
$resultat .= "</tr>";
}
$resultat .= "</tbody>";
return $resultat;
}
function mise_a_jour_statut_client_session2()
{
$bdd = connexion_bdd();
$req_maj= $bdd -> prepare('UPDATE tbl_produit_client SET statut_theorique =:statut_theorique,statut_pratique =:statut_pratique WHERE id_produit_client = :id_produit_client');
$req_maj->execute( array(
'statut_theorique' => $_POST['statut_theorique'],
'statut_pratique' => $_POST['statut_pratique'],
'id_produit_client' => intval($_POST['id_produit_client'])
));
return true;
} |
dans ce tableau j'ai une cellule nommé Notation, qui affiche un bouton permettant d'ouvrir le fameux modal
Le lien :
<td><a href='#modal-evaluation' data-id-produit-client=".$information['id_produit_client']." data-toggle='modal' class='btn btn-primary btn-sm'> <i class='fa fa-check' aria-hidden='true'></i> </a></td>
Puis sur une autre page ou s'affiche le tableau et le liens que voici
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<section class='section'>
<div class='row'>
<div class='col-md-12'>
<div class='card'>
<div class='card-block'>
<div class='card-title-block'>
<h3 class='title'> Formations effectués </h3>
</div>
<section class='example'>
<div class='table-responsive'>
<table class='table table-striped table-bordered table-hover'>
<?php echo affichage_achat_client_etat2(recuperation_element_achat_client());?>
</table>
</div>
</section>
</div>
</div>
</div>
</div>
</section>
</article> |
dans cette page j'ai le modal et le script ajouté
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
|
<div class="modal fade" id="modal-evaluation">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">
<i class="fa fa-cloud-upload"></i> Evaluation</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>
<div class="card card-block sameheight-item">
<form action="../clients/update2-statut-theorique-pratique-client.php" method="post">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Etat Théorique</label>
<div>
<label>
<input class="radio squared" name="statut_theorique" value="1" checked="checked" type="radio">
<span>Reussi</span>
</label>
<label>
<input class="radio squared" name="statut_theorique" value="0" type="radio">
<span>Echec</span>
</label>
</div>
</div> </div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Etat Pratique</label>
<div>
<label>
<input class="radio squared" name="statut_pratique" value="1" checked="checked" type="radio">
<span>Reussi</span>
</label>
<label>
<input class="radio squared" name="statut_pratique" value="0" type="radio">
<span>Echec</span>
</label>
</div>
<input type='hidden' name='id_produit_client' id='id_produit_client' value='id_produit_client'>
</div> </div>
</div>
</div>
<div class="form-group">
<button type="submit" name="btnModalEvaluation" class="btn btn-primary">Enregistrer</button>
</div></div>
</form>
</div>
</p>
</div>
</div> |
et l'appel jquerry
1 2 3 4 5 6
|
<script>
$('#btnModalEvaluation').on('click', function(){
var id_produit_client = $(this).data('id-produit-client');
});
</script> |
quand je clic sur le liens notation qui est en rapport avec la ligne le modal s'ouvre, je coche mes cases puis je valide.
pages nommé update2-statut-theorique-pratique-client.php pour la réception des données et déclencher la mise a jour de la ligne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?php
include ($_SERVER["DOCUMENT_ROOT"].'/script/function.php');
autorisationaccees();
$autorisation = $_SESSION['autorisation_utilisateur'];
if( $autorisation == 1)
{
mise_a_jour_statut_client_session2();
header('Location: /clients/fiche-client.php?id_client='.$_GET['id_client'].'');
}
else{
header('Location: ../index.php');
}
?> |
appel de la fonction mise_a_jour_statut_client_session2(); pour la mise a jour des éléments
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function mise_a_jour_statut_client_session2()
{
$bdd = connexion_bdd();
$req_maj= $bdd -> prepare('UPDATE tbl_produit_client SET statut_theorique =:statut_theorique,statut_pratique =:statut_pratique WHERE id_produit_client = :id_produit_client');
$req_maj->execute( array(
'statut_theorique' => $_POST['statut_theorique'],
'statut_pratique' => $_POST['statut_pratique'],
'id_produit_client' => intval($_POST['id_produit_client'])
));
return true;
} |
aprés test je n'ai pas d'erreur mais aucune mise a jour est effectuée
AUTRE SOLUTION QUI ME PARAIT PAS MAL
dans ma fonction affichage_achat_client_etat2 gérer le modal a la volé par rapport au produit ( pour chaques ligne un nouveau modal ) cela fonctionne mais est peux etre pas l'idéal ???
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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
function affichage_achat_client_etat2 ( $tableau )
{
$ndd = "http://".$_SERVER["SERVER_NAME"];
$resultat = '';
$resultat .= "
<thead>
<tr>
<th class='min-tablet'>Formation</th>
<th class='min-tablet'>CACES</th>
<th class='min-tablet'>Etat Théorique</th>
<th class='min-tablet'>Etat Pratique</th>
<th class='min-tablet'>Notation</th>
<th class='min-tablet'>Date </th>
<th class='min-tablet'>Document </th>
</tr>
</thead>
<tbody>";
foreach ( $tableau as $information ){
if ($information['statut_theorique'] ){
$etat_theorique = "<img src=' ".$ndd."/img/element-actif.gif' class='img-logo centeretat ' alt=''/>";
}
else{
$etat_theorique = "<img src=' ".$ndd."/img/element-nonactif.gif' class='img-logo centeretat ' alt=''/>";
}
if ($information['statut_pratique'] ){
$etat_pratique = "<img src=' ".$ndd."/img/element-actif.gif' class='img-logo centeretat ' alt=''/>";
}
else{
$etat_pratique = "<img src=' ".$ndd."/img/element-nonactif.gif' class='img-logo centeretat ' alt=''/>";
}
if ($information['statut_theorique'] AND $information['statut_pratique'] ==1 ){
$attestation = "<a target='_blank' href='".$ndd."/elements/attestation-stage.php?id_client=".$information['id_client']."&&id_produit_client=".$information['id_produit_client']."' <i class='fa fa-trophy'></i></a>";
}
elseif($information['statut_theorique'] == 0 AND $information['statut_pratique'] == 0 ){
$attestation="";
}
elseif($information['statut_theorique'] == 1 AND $information['statut_pratique'] == 0 ){
$attestation="Pratique a revoir";
}
elseif($information['statut_theorique'] == 0 AND $information['statut_pratique'] == 1 ){
$attestation="Thérorie a revoir";
}
$resultat .= "<tr>";
$resultat .= "
<td>".$information['nom_produit']."</td>
<td>".$information['nom_sous_produit']."</td>
<td>".$etat_theorique."</td>
<td>".$etat_pratique."</td>
<td><a href='#modal-evaluation-".$information['id_sous_produit']."' data-toggle='modal' class='btn btn-primary btn-sm'> <i class='fa fa-check' aria-hidden='true'></i> </a></td>
<td>Le ".date('d/m/Y',strtotime($information['date_enregistrement']))."</td>
<td>
".$attestation."
</td>
<div class='modal fade' id='modal-evaluation-".$information['id_sous_produit']."'>
<div class='modal-dialog' role='document'>
<div class='modal-content'>
<div class='modal-header'>
<h4 class='modal-title'>
<i class='fa fa-cloud-upload'></i> Evaluation ".$information['nom_client']." ".$information['prenom_client']."
pour ".$information['nom_sous_produit']."</h4>
<button type='button' class='close' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</div>
<div class='modal-body'>
<p>
<div class='card card-block sameheight-item'>
<form action='../clients/update2-statut-theorique-pratique-client.php' method='post'>
<div class='row'>
<div class='col-sm-6'>
<div class='form-group'>
<label class='control-label'>Etat Théorique</label>
<div>
<label>
<input class='radio squared' name='statut_theorique' value='1' checked='checked' type='radio'>
<span>Reussi</span>
</label>
<label>
<input class='radio squared' name='statut_theorique' value='0' type='radio'>
<span>Echec</span>
</label>
</div>
</div> </div>
<div class='col-sm-6'>
<div class='form-group'>
<label class='control-label'>Etat Pratique</label>
<div>
<label>
<input class='radio squared' name='statut_pratique' value='1' checked='checked' type='radio'>
<span>Reussi</span>
</label>
<label>
<input class='radio squared' name='statut_pratique' value='0' type='radio'>
<span>Echec</span>
</label>
</div>
</div> </div>
</div>
<input type='hidden' name='id_produit_client' id='id_produit_client' value='".$information['id_produit_client']."'>
</div>
<div class='form-group'>
<button type='submit' name='btnevaluationclient' class='btn btn-primary'>Enregistrer</button>
</div></div>
</form>
</div>
</p>
</div>
</div>
";
$resultat .= "</tr>";
}
$resultat .= "</tbody>";
return $resultat;
} |
Partager