<?php
// Initialisations en dur
$marqueId = filter_input(INPUT_POST
, 'marqueId', FILTER_SANITIZE_NUMBER_INT
);
$NomModele = filter_input(INPUT_POST
, 'NomModele', FILTER_SANITIZE_STRING
);
$Os = filter_input(INPUT_POST
, 'Os', FILTER_SANITIZE_STRING
);
$OsVersion = 'OsVersion';
$ImageModele = 'ImageModele';
$DateSortie = 'DateSortie';
$RamMB = 'RamMB';
$StockageGb = 'StockageGb';
$DiagonaleEcranPouces = 'DiagonaleEcranPouces';
$ResolutionEcranHorizontale = 'ResolutionEcranHorizontale';
$ResolutionEcranVerticale = 'ResolutionEcranVerticale';
$PhotoMpx = 'PhotoMpx';
$PortSD = 0;
$Processeur = 'Processeur';
$out = "";
$out .= "MarqueId: $marqueId / NomModele: $NomModele / OS: $Os <br>";
include '../pdo_start.inc.php';
$pdo = pdo_connexion('natels');
$sql_unique = "SELECT COUNT(*) as 'occurences' FROM `modele` WHERE `modele`.`NomModele` LIKE :NomModele";
$pdo_unique = $pdo->prepare($sql_unique);
$pdo_unique->bindValue(':NomModele', $NomModele);
$pdo_unique->execute();
$row = $pdo_unique->fetch();
$erreur_message = "";
if ($row['occurences'] == 0) {
$sql_ajout = "INSERT INTO `modele` (`IdModele`, `MarqueId`, `NomModele`, `Os`, `OsVersion`, `ImageModele`, `DateSortie`, `RamMB`, `StockageGb`, `DiagonaleEcranPouces`, `ResolutionEcranHorizontale`, `ResolutionEcranVerticale`, `PhotoMpx`, `PortSD`, `Processeur`)"
. " VALUES (NULL, :MarqueId, :NomModele, :Os, '14.0', 'https://www.citypng.com/public/uploads/preview/-11598467352bzdw9z3vxp.png', '2020-10-20', '6000', '128', '7', '2440', '1080', '16', '1', 'Bon')";
$pdo_ajout = $pdo->prepare($sql_ajout);
$pdo_ajout->bindValue(':MarqueId', $marqueId);
$pdo_ajout->bindValue(':NomModele', $NomModele);
$pdo_ajout->bindValue(':Os', $Os);
$pdo_ajout->execute();
}
else {
$erreur_message .= "Le téléphone existe déjà";
}
}
$sqlselect = "SELECT `modele`.`IdModele`, `modele`.`MarqueId`, `modele`.`NomModele`, `modele`.`Os`, `modele`.`OsVersion`, CONCAT(\"<img src='\", `modele`.`ImageModele`, \"'/>\") AS 'Image', "
. "DATE_FORMAT(`modele`.`DateSortie`, \"%d.%m.%Y\") AS \"Date de sortie\", `modele`.`RamMB`, `modele`.`StockageGb`, `modele`.`DiagonaleEcranPouces`, `modele`.`ResolutionEcranHorizontale`, `modele`.`ResolutionEcranVerticale`, `modele`.`PhotoMpx`, `modele`.`PortSD`, `modele`.`Processeur`
FROM `modele`";
$pdo_query = $pdo->query($sqlselect);
$tab = $pdo_query->fetchAll();
$grille = "";
$grille .= "<table><tr>";
foreach ($tab[0] as $key => $value) {
$grille .= "<th>$key</th>";
}
$grille .= "</tr>";
for ($index = 0; $index < count($tab); $index++) {
$grille .= "<tr>";
foreach ($tab[$index] as $key => $value) {
$grille .= "<td>$value</td>";
}
$grille .= "</tr>";
}
$grille .= "</table>";
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>ICT151 - Requêtes préparées</title>
<style>
label {
display: inline-block;
width: 220px;
}
h1 {
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEX9+/3t0+nTsNHIjb2wj7bCeruaX6SDM4jhy9+gb8F4SJZeImzYyNrnsdhgK4zT7fagz+VRkbWmpcpfsc7T0OXyvuZ1xt4uCFbkl8oeocYKirYcAzbTk8ZnR3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9oBgiAmewAKgj///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9j0mkpAAAACXBIWXMAAAsSAAALEgHS3X78AAACFUlEQVR42sWU0bKjIAyGIWBUIkiLirb6/q+5CdWz0x16zs7ebC6q0/n8/ySEKPXfQ4Oxf4OZBrH9mex6R+Ssfvu2GwBgeNfDlt4ppQbwHgwb2e73n7Zt//TwXj402BsMeGlAS+UVXEvm4tQYY9Sd8V1PdCbQU6kCOcszAQ16vN3u95TiBICBir1uyxMuNRGcx9udn+O0LAM0IbtSMpE8HJZ0kdW1V6lwHDGCCSGLeVdS1C2IPUpD/DzdxpNbFjAu5JJcSyA4/0BRVateUsGYS8sg4MuOpDtyLhZKLn68xZNj0DfuTJKrYQhb6durlHh7YZEVo+/DqSiNBPa2StvLuVDCpQGQFe9XJ7lB3XkAetUpLReXOuMc5a4yIX6dNgYl0rZJii5TbZRWHx9bKrFt28TO7lVLDXxsr3ik2XCKz9qk6t3rx1dMvkekrGtDvK86XlycefIxH6pay+rVlATbogbmXNVZ+R2bdVZ6ipOegY0/OKvVUD5W4/3MV4E5rrnqrFeWtJjJNk3T98yFJ1TBHXH3xpE9yIkg1rutuvV4UtObdXd0vATr193vYNk5ozgz53Ku7wLfYLOzveWS+Ew+CqrhyIQsxzuBbcOHeZDZ5GHh/J00Oojg8Am0fGjHgbyLAgX3xI8LCxsuAXlWvzWWqxb6XsSI9XL98C5JJqQv0pnh2205sC/xzXuS/nGzAh503P9tyf8CdlgisWMvMEwAAAAASUVORK5CYII=);
background-repeat:no-repeat;
padding-left: 50px;
padding-bottom: 0.05em;
}
.border1 {
border: 1px solid black;
}
table,th,td{
border: 1px solid black;
border-collapse: collapse;
}
img{
width: 150px;
}
</style>
</head>
<body>
<h1>Ajouter un téléphone mobile</h1>
<form method="post">
<label for="marqueId">Fabricant</label><select name="marqueId" id="marqueId">
<option value="1">Apple</option>
<option value="2">BlackBerry</option>
<option value="3">HTC</option>
<option value="4">Huawei</option>
<option value="5">LG</option>
<option value="6">Nokia</option>
<option value="7">Samsung</option>
<option value="8">Sony</option>
</select><br/>
<label for="NomModele">Nom du modèle</label><input type="text" id="NomModele" name="NomModele" value="" required /><br />
<label for="Os">Système d'exploitation</label><input type="text" id="Os" name="Os" value="Android" required /><br />
<!--
<label for="OsVersion">Version de l'OS</label><input type="text" id="OsVersion" name="OsVersion" value="4.2" required /><br />
-->
<!--
<label for="ImageModele">Image <a href="http://www.lesnumeriques.com/telephone-portable/comparatif-smartphones-telephones-portables-a407.html" target="_Blank">LesNumeriques</a></label>
-->
<!--
<input type="text" pattern="https?:\/\/img[12]?\.lesnumeriques\.com(\/optim)?\/produits\/[0-9]+\/[0-9]+\/.+300[_x]170\.jpg" title="url de l'image sur lesnumeriques.com" id="ImageModele" name="ImageModele" value="" required/><br />
-->
<!--
<label for="DateSortie">Date de sortie</label><input type="date" id="DateSortie" name="DateSortie" value="" required /><br />
-->
<!--
<label for="RamMB">Quantité de RAM en MB</label><input type="number" id="RamMB" name="RamMB" value="" required /><br />
-->
<!--
<label for="StockageGb">Taille du stockage en GB</label><input type="number" id="StockageGb" name="StockageGb" value="" required /><br />
-->
<!--
<label for="DiagonaleEcranPouces">Diagonale écran en pouces</label><input type="text" id="DiagonaleEcranPouces" name="DiagonaleEcranPouces" value="" required /><br />
-->
<!--
<label for="ResolutionEcranVerticale">Ecran, résolution verticale</label><input type="text" id="ResolutionEcranVerticale" name="ResolutionEcranVerticale" value="" required /><br />
-->
<!--
<label for="ResolutionEcranHorizontale">Ecran, résolution horizontale </label><input type="text" id="ResolutionEcranHorizontale" name="ResolutionEcranHorizontale" value="" required /><br />
-->
<!--
<label for="PhotoMpx">Millions de pixels du capteur photo</label><input type="text" id="PhotoMpx" name="PhotoMpx" value="" required /><br />
-->
<!--
<label for="PortSD">Présence d'un port d'extension SD</label><input type="text" id="PortSD" name="PortSD" value="Oui" required /><br />
-->
<!--
<label for="Processeur">Microprocesseur (cadence)</label><input type="text" id="Processeur" name="Processeur" value="" required /><br />
-->
<label></label><input type="submit" value="Ajouter ce modèle" name="action" />
</form>
<h1>Différents modèles de téléphones mobiles</h1>
<?= $erreur_message ?>
<?= @$out ?>
<?php
//print_r($tab);
echo $grille;
?>
</body>
</html>