Skip to content

Instantly share code, notes, and snippets.

@yooslim
Last active December 15, 2015 18:19
Show Gist options
  • Save yooslim/5303281 to your computer and use it in GitHub Desktop.
Save yooslim/5303281 to your computer and use it in GitHub Desktop.
<?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>
@yooslim
Copy link
Author

yooslim commented Apr 3, 2013

Code non testé.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment