1 pièce(s) jointe(s)
Bouton RESET qui engendre sauvegarde avant le reset
Bonjour,
Je travaille actuellement sur un projet logiciel intranet, et en ce moment j'ai du mal à coder une option sur une de mes pages :
Code:
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
|
<?php
session_start();
if (isset($_POST['validerCal']))
{
$pdo = new PDO('mysql:host=localhost;dbname=fichesclients','root','', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$idCal = mysql_escape_string($_POST['idCal']);
$societeClient = mysql_escape_string($_POST['societeClient']);
$typeContrat = mysql_escape_string($_POST['typeContrat']);
$dispoCal = mysql_escape_string($_POST['dispoCal']);
$dateCal = mysql_escape_string($_POST['dateCal']);
$notesCal = mysql_escape_string($_POST['notesCal']);
$sql = "UPDATE infocalendrier SET societeClient = '$societeClient', typeContrat = '$typeContrat', dispoCal = '$dispoCal', dateCal = '$dateCal', notesCal = '$notesCal' WHERE idCal in ('$idCal')";
$requete = $pdo->query($sql);
}
?>
<html>
<head>
<meta charset="utf-8"/ >
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel ="stylesheet" href = "main.css" type = "text/css">
<link rel="stylesheet" media="screen and (min-device-width:768px) and (max-device-width:1023px)" href="mainMin768.css" type="text/css" />
<link rel="stylesheet" media="screen and (min-device-width:1024px) and (max-device-width:1300px)" href="mainMin1024.css" type="text/css" />
<link rel="stylesheet" media="screen and (min-device-width:1301px) and (max-device-width:1400px)" href="mainMin1301.css" type="text/css" />
<link rel="stylesheet" media="screen and (min-device-width:1401px)" href="mainMin1401.css" type="text/css" />
<title>InfobisPro</title>
</head>
<body style="background-color: black; color:white;">
<div id = "bienvenueCal" style ="text-align:center; margin-top:2%; font-size:20px;">
<h1>Bienvenue sur la page du calendrier mensuel !</h1><br>
</div>
<script type="text/javascript">
function ConfirmMessage() {
if (confirm("Voulez-vous modifier ce client ?")){
alert("Le client a bien été modifié !");
window.location.assign('v_calendrier.php');
}
}
function ConfirmMessageDelete() {
if (confirm("Voulez-vous réinitialiser toutes les données de tous les clients ?")){
alert("Toutes les données de tous les clients ont été réinitialisées");
window.location.assign('v_calendrier.php');
}
}
</script>
<?php
$pdo = new PDO('mysql:host=localhost;dbname=fichesclients','root','', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * FROM infocalendrier';
$req = $pdo->query($sql);
mysql_query("SET NAMES 'utf8'");
?>
<form method="post" action="v_liste.php">
<INPUT class ="boutonRetourCal" TYPE="submit" value="Retour"/>
<input class="boutonDeleteCal" type="submit" name="deleteCal" value="Réinitialisation mensuelle" onClick="ConfirmMessageDelete()"/>
</form>
<table class = "tableCalendrier">
<tr>
<th>Numéro du Client
</th>
<th>Nom de société
</th>
<th>
Type de contrat
</th>
<th>
Disponibilité
</th>
<th>
Dates d'intervention
</th>
<th>
Notes de Maintenance
</th>
</tr>
<?php
while($row = $req->fetch()){ ?>
<tr><form action ="v_calendrier.php" method="post">
<td><input class ="inputCal" style="text-align:center;" type="text" name = "idCal" value="<?php echo $row['idCal']; ?>" readonly></td>
<td><input class ="inputCal" style="text-align:center;" type="text" name = "societeClient" value="<?php echo $row['societeClient']; ?>" readonly></td>
<td><input class ="inputCal" style="text-align:center;" type="text" name = "typeContrat" value="<?php echo $row['typeContrat']; ?>" readonly></td>
<td style="text-align:center; ";><select class ="inputCal" style ="width:100%; height:100%; text-align-last:center;" name="dispoCal" selected="<?php echo($row['dispoCal']); ?>">
<option value="Attente"<?php if($row['dispoCal'] == "Attente"){echo "selected";} ?>>Attente</option><option value="Fait"<?php if($row['dispoCal'] == "Fait") {echo "selected";} ?>>Fait</option></select></td>
<td><input class ="inputCal" type="date" name = "dateCal" value="<?php echo $row['dateCal']; ?>"></td>
<td><input class ="inputCal" type="text" name = "notesCal" value="<?php echo $row['notesCal']; ?>"></td>
<td><input class="boutonValiderCal" type="submit" name="validerCal" value="Valider" onClick="ConfirmMessage()"/></td>
</form>
</tr>
<?php
}
$req->closeCursor();
?>
</table>
</body>
</html> |
Tout d'abord je vais vous expliquer le contexte : ce logiciel sera utilisé par des techniciens informatiques qui doivent visiter une fois par mois tous leurs clients qui ont un contrat de maintenance ou un contrat "CALP" avec eux.
Donc j'ai fais un tableau où les 3 premiers "input" sont non éditables car ce sont des données fixes d'un client, et les 3 input qui suivent sont éditable ( première colonne : la disponibilité qui a pour valeur par défaut "Attente", c'est à dire si la visite du client a déjà été faite ou non ce mois-ci, deuxième colonne : la date à laquelle a été faite la visite mensuelle, troisième colonne : les notes qui correspondent a la maintenance mensuelle qui a été faite ce mois-ci ).
Bref, mon but est de sauvegarder les données qui ont été enregistrées le mois "X", et lorsque l'on clique sur le bouton "Réinitialisation mensuelle", toutes les données sont "supprimées" ( ou du moins cachées ) ce qui permettra à l'utilisateur de remplir les données du tableau pour le mois "X+1" tout en gardant les données du mois "X" quelque part, au cas où il en aurait besoin dans l'avenir pour se justifier auprès d'un client ou autre.
Je vous fournis aussi les données de la table "infocalendrier" de ma DB nommée "fichesclients" :
Pièce jointe 246480
Merci d'avance pour votre généreuse aide ! :oops: