Last active
December 15, 2015 18:19
-
-
Save yooslim/5303281 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//Inclusion de la base de données | |
require_once 'bd.php'; //Lien => https://gist.github.com/YOoSlim/5303274 | |
//Selections de la liste des pays | |
$req = $bd->query('SELECT * FROM PAYS'); | |
$paysList = $req->fetchAll(PDO::FETCH_OBJ); | |
//Selections de la liste des departements | |
$req = $bd->query('SELECT codeDepartement FROM DEPARTEMENT'); | |
$departList = $req->fetchAll(PDO::FETCH_OBJ); | |
//Selections de la liste des communes | |
$req = $bd->query('SELECT codeCommune FROM COMMUNE'); | |
$communeList = $req->fetchAll(PDO::FETCH_OBJ); | |
//Selections de la liste des prospecteurs | |
$req = $bd->query('SELECT nomIntervenant FROM INTERVENANT ORDER BY nomIntervenant'); | |
$prospecteurList = $req->fetchAll(PDO::FETCH_OBJ); | |
//Selection de la liste des etages | |
$req = $bd->query('SELECT ID_etage, ereEtage, nomEtage FROM ETAGE GROUP by ereEtage, nomEtage'); | |
$etageList = $req->fetchAll(PDO::FETCH_OBJ); | |
//Définitions de la liste des natures du gite et de la roche | |
$natureGit = array('Archéologique', 'Géologique'); | |
$natureRoche = array('Silex', 'Jaspe', 'Calcédoine', 'Meulière', 'Quartz'); | |
//Traitement du formulaire si il est envoyé | |
$errors = ''; | |
if(isset($_POST['faire'])) { | |
//Vérifier si le pays existe réellement dans la bd | |
$exist = false; | |
if(isset($_POST['codePays'])) { | |
foreach($paysList AS $obj) if($obj->id == $_POST['codePays']) {$exist = true; break;} | |
reset($paysList); | |
} | |
if(!$exist) $errors .= '<p>Le pays n\'existe pas.</p>'; | |
//Vérifier l'année | |
if(!isset($_POST['anneeDecouverteG']) OR $_POST['anneeDecouverteG'] > date('Y') OR $_POST['anneeDecouverteG'] < 1000) | |
$errors .= '<p>Année de découverte improbable.</p>'; | |
//Vérifier le prospecteur | |
$exist = false; | |
if(isset($_POST['prospecteur'])) { | |
foreach($prospecteurList AS $obj) if($obj->nomIntervenant == $_POST['prospecteur']) {$exist = true; break;} | |
reset($prospecteurList); | |
} | |
if(!$exist) $errors .= '<p>Le prospecteur n\'existe pas.</p>'; | |
//Vérifier le type de git | |
if(!isset($_POST['typeGite']) OR ($_POST['typeGite'] != 'primaire' AND $_POST['typeGite'] != 'secondaire')) | |
$errors .= '<p>Type de git indéfinie.</p>'; | |
//Vérifier la nature du git | |
$exist = true; | |
if(isset($_POST['natureGite']) AND is_array($_POST['natureGite'])) | |
foreach($_POST['natureGite'] AS $value) | |
if(!in_array($value, $natureGit)) {$exist = false; break;} | |
if(!$exist) $errors .= '<p>La nature du git n\'est pas définie.</p>'; | |
//Vérifier le nom génétique | |
if(!isset($_POST['nomGeneriqueG']) OR empty($_POST['nomGeneriqueG'])) | |
$errors .= '<p>Le nom générique n\'est pas définie.</p>'; | |
//Vérifier l'etage | |
$exist = false; | |
if(isset($_POST['ID_etage'])) { | |
foreach($etageList AS $obj) if($obj->ID_etage == $_POST['ID_etage']) {$exist = true; break;} | |
reset($etageList); | |
} | |
if(!$exist) $errors .= '<p>La valeur de l\'étage est fausse.</p>'; | |
//Vérifier la précision d'age | |
if(!isset($_POST['precisionAgeEtage']) OR empty($_POST['precisionAgeEtage'])) | |
$errors .= '<p>La précision de l\'age n\'est pas définie.</p>'; | |
//Vérifier la nature de la roche | |
$exist = true; | |
if(isset($_POST['natureRoche']) AND is_array($_POST['natureRoche'])) | |
foreach($_POST['natureRoche'] AS $value) | |
if(in_array($value, $natureRoche)) {$exist = false; break;} | |
if(!$exist) $errors .= '<p>La nature du git n\'est pas définie.</p>'; | |
//Vérifier la description du gite | |
if(!isset($_POST['descriptionGite']) OR empty($_POST['descriptionGite'])) | |
$errors .= '<p>La dscription du gite n\'est pas définie.</p>'; | |
/* ************* */ | |
//Si aucune erreur n'existe, on insere | |
if(empty($errors)) { | |
//Insertion | |
} | |
} | |
$req->closeCursor(); | |
?> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Creation d'un Gite</title> | |
</head> | |
<body> | |
<h3>Formulaire de création d'un gîte</h3> | |
<form method="post" action="#"> | |
<table> | |
<tr> | |
<td>Numèro gite : </td> | |
<td> | |
<select name="codePays"> | |
<option value="0">Pays</option> | |
<?php | |
foreach($paysList AS $pays) echo '<option value="'.$pays->id.'">'.$pays->nom.'</option>'; | |
?> | |
</select> | |
<input type="text" name="codeDepartement"> | |
<input type="text" name="codeCommune"> | |
</td> | |
</tr> | |
<tr> | |
<td>Année de découverte : </td> | |
<td> | |
<input type="text" name="anneeDecouverteG"> | |
</td> | |
</tr> | |
<tr> | |
<td>Prospecteur : </td> | |
<td> | |
<select name="prospecteur"> | |
<option value="0">Prospecteur</option> | |
<?php | |
foreach($prospecteurList AS $prospect) | |
echo '<option value="'.$prospect->nomIntervenant.'">'.$prospect->nomIntervenant.'</option>'; | |
?> | |
</select> | |
</td> | |
</tr> | |
<tr> | |
<td>Type gîte : </td> | |
<td> | |
Primaire <input type="radio" name="typeGite" value="primaire" checked="checked"> | |
Secondaire <input type="radio" name="typeGite" value="secondaire"> | |
</td> | |
</tr> | |
<tr> | |
<td>Nature gîte : </td> | |
<td> | |
Archéologique <input type="checkbox" name="natureGite[]" value="Archéologique"> | |
Géologique <input type="checkbox" name="natureGite[]" value="Géologique"> | |
</td> | |
</tr> | |
<tr> | |
<td>Nom générique : </td> | |
<td> | |
<input type="text" name="nomGeneriqueG"> | |
</td> | |
</tr> | |
<tr> | |
<td>Etage : </td> | |
<td> | |
<select name="ID_etage"> | |
<option value="0">Etage</option> | |
<?php | |
foreach($etageList AS $etage) | |
echo '<option value="'.$etage->ID_etage.'">'.$etage->ereEtage.' - '.$etage->nomEtage.'</option>'; | |
?> | |
</select> | |
</td> | |
</tr> | |
<tr> | |
<td valign="top">Précision sur l'âge de l'étage : </td> | |
<td> | |
<textarea name="precisionAgeEtage"></textarea> | |
</td> | |
</tr> | |
<tr> | |
<td>Nature roche : </td> | |
<td> | |
<?php | |
foreach($natureRoche AS $id=>$value) | |
echo '<label for="idt'.$id.'">'.$value.'</label> <input type="checkbox" name="natureRoche[]" value="'.$value.'" id="idt'.$id.'"> '; | |
?> | |
</td> | |
</tr> | |
<tr> | |
<td valign="top">Description du gîte : </td> | |
<td> | |
<textarea name="descriptionGite"></textarea> | |
</td> | |
</tr> | |
<tr> | |
<td></td> | |
<td> | |
<input type="submit" value="Enregistrer" name="faire"> | |
<input type="reset" value="Annuler"> | |
</td> | |
</tr> | |
</table> | |
</form> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Code non testé.