Bonjour, je souhaiterais exécuter une requête uniquement si la confirmation à été validé, cela implique de "mêler" du code Javascript et du PHP, donc un côté client et un côté serveur, aez vous une idée de comment je pourrais régler ce problème et répondre à la demande ?
Voici les différents codes dans les différents fichiers.
changeStatutIncident.php
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
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 $StatutAChanger = $_POST['choixStatut']; $incidentId = $_POST['id']; $btnValider = $_POST['valider']; $datetime = date("Y-m-d H:i:s"); if($btnValider == true){ $db -> exec('UPDATE INCIDENT SET INCIDENT_STATUT_id=4, INCIDENT_datefinintervention ="' . $datetime . '" WHERE INCIDENT_id=' . $incidentId); } else{ if($StatutAChanger == 2){ $reqChangementStatut = 'UPDATE INCIDENT SET INCIDENT_STATUT_id=' . $StatutAChanger . ', INCIDENT_datedebutintervention ="' . $datetime . '" WHERE INCIDENT_id=' . $incidentId; $db -> exec($reqChangementStatut); } else if($StatutAChanger == 3){ $reqChangementStatut = 'UPDATE INCIDENT SET INCIDENT_STATUT_id=' . $StatutAChanger . ' WHERE INCIDENT_id=' . $incidentId; $db -> exec($reqChangementStatut); } }
Script confirmation dans getIncident.php
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 echo "</table><script> $('#selectStatut').change(function() { if ($('#selectStatut').val() == 3) { if (confirm('Vous vous vraiment annuler cette déclaration ?')){ } } }); </script>
Formulaire dans getIncident.php
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form id="form' . $unIncident['INCIDENT_id'] . '" action="changeStatutIncident.php" method="post" onChange="document.getElementById(\'form' . $unIncident['INCIDENT_id'] . '\').submit()"> <select id="selectStatut" name ="choixStatut" id="choixStatut"> <option value="0">Modifier état</option> <option value="2">En traitement</option> <option id="optionCancel" value="3">Annulé</option> </select>
Cordialement, Martin.
Partager