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 : 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
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" :

Nom : tableCal.png
Affichages : 188
Taille : 17,0 Ko

Merci d'avance pour votre généreuse aide !