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
| <?php
//---- DATABASE
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'tests');
define('DB_USER', 'root');
define('DB_PWD' , '');$bdd = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME,DB_USER,DB_PWD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$query = "SELECT nom, prenom, `date`, heure from horaires order by nom, prenom, `date`, heure";
$prepared = $bdd->prepare($query);
$prepared->execute();
//------ Initialisation des variables pour test de changement de personne/date
$savNom = "";
$savPrenom = "";
$savDate = "";
$savHeure = "";
$row = $prepared->fetch(PDO::FETCH_ASSOC);
while ($row)
{
$nom = $row['nom'];
$prenom = $row['prenom'];
$date = $row['date'];
$heure = $row['heure'];
// détecte le changement de personne et de jour
if ($savNom != $nom || $savPrenom != $prenom || $savDate != $date)
{
$savNom = $nom;
$savPrenom = $prenom;
$savDate = $date;
// init des champs heures
$heures = array();
}
// sauvegarde de l'heure pour chaque enregistrement
$heures[] = $heure;
$row = $prepared->fetch(PDO::FETCH_ASSOC);
// détecte le changement de personne ou de jour ou la fin des données
$nom2 = $row['nom'];
$prenom2 = $row['prenom'];
$date2 = $row['date'];
$heure2 = $row['heure'];
if ($savNom != $nom2 || $savPrenom != $prenom2 || $savDate != $date2 || !$row)
{
//---- Insertion des données dans la table
$nomPourTable = $savNom;
$prenomPourTable = $savPrenom;
$datePourTable = $savDate;
$heureInPourTable1 = isset($heures[0]) ? $heures[0] : '00:00:00';
$heureOutPourTable1 = isset($heures[1]) ? $heures[1] : '00:00:00';
$heureInPourTable2 = isset($heures[2]) ? $heures[2] : '00:00:00';
$heureOutPourTable2 = isset($heures[3]) ? $heures[3] : '00:00:00';
$heureInPourTable3 = isset($heures[4]) ? $heures[4] : '00:00:00';
$heureOutPourTable3 = isset($heures[5]) ? $heures[5] : '00:00:00';
$heureInPourTable4 = isset($heures[6]) ? $heures[6] : '00:00:00';
$heureOutPourTable4 = isset($heures[7]) ? $heures[7] : '00:00:00';
$retard = "00:00:0"; // J'ai mis 00:00:00 car le code pour calculer les retards est trop long
$supp = "00:00:00"; // J'ai mis 00:00:00 car le code pour calculer les heures supplémentaires est trop long
$requete1 = ("insert into horairesFinal ( nom, prenom, `date`, heureIn1, heureOut1, heureIn2, heureOut2, heureIn3, heureOut3, heureIn4, heureOut4, retard, supp ) VALUES ( '$nomPourTable','$prenomPourTable', '$datePourTable', '$heureInPourTable1', '$heureOutPourTable1','$heureInPourTable2', $heureOutPourTable2,$heureInPourTable3, $heureOutPourTable3, '$heureInPourTable4', '$heureOutPourTable4', '$retard', '$supp' ");
$prepared2 = $bdd->prepare($requete1 );
$prepared2->execute();
print "$nomPourTable | $prenomPourTable | $datePourTable | $heureInPourTable1 | $heureOutPourTable1 | $heureInPourTable2 | $heureOutPourTable2 | $heureInPourTable3 | $heureOutPourTable3 | $heureInPourTable4 | $heureOutPourTable4| $retard| $supp<br/>";
}
} |
Partager