parent
be622c2be6
commit
12f1078968
@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\gateway;
|
||||||
|
|
||||||
|
use App\metier\Profil;
|
||||||
|
use App\metier\Experience;
|
||||||
|
|
||||||
|
class ExperienceGateway
|
||||||
|
{
|
||||||
|
private \App\gateway\Connection $con;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $con
|
||||||
|
*/
|
||||||
|
public function __construct(\App\gateway\Connection $con){
|
||||||
|
$this->con = $con;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMaxId() : int
|
||||||
|
{
|
||||||
|
$query='SELECT MAX(id) FROM Experience';
|
||||||
|
$this->con->executeQuery($query);
|
||||||
|
$res=$this->con->getResults();
|
||||||
|
return $res[0]['MAX(id)']+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getNbExperience(): int
|
||||||
|
{
|
||||||
|
$query = 'SELECT COUNT(*) FROM Experience';
|
||||||
|
$this->con->executeQuery($query, array());
|
||||||
|
$res = $this->con->getResults();
|
||||||
|
return intval($res[0]['COUNT(*)']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getExperienceFromId($id) : array
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM experience WHERE id=:id";
|
||||||
|
$this->con->executeQuery($query, array(
|
||||||
|
':id' => array($id, \PDO::PARAM_INT)
|
||||||
|
));
|
||||||
|
return $this->con->getResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getExperienceFromProfil($profil) : array
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM experience WHERE profil=:profil AND " ;
|
||||||
|
$this->con->executeQuery($query, array(
|
||||||
|
':profil' => array($profil, \PDO::PARAM_INT)
|
||||||
|
));
|
||||||
|
return $this->con->getResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addExperience(Experience $exp)
|
||||||
|
{
|
||||||
|
$query = 'INSERT INTO experience VALUES (:id, :profil, :intitule, :dateBegin, :dateEnd, :nameIndustry, :currentJobb)';
|
||||||
|
$this->con->executeQuery($query, array(
|
||||||
|
':id' => array($exp->getId(), \PDO::PARAM_INT),
|
||||||
|
//':profil' => array($exp->getProfil(), \PDO::PARAM_INT),
|
||||||
|
':profil' => array(1,\PDO::PARAM_INT),
|
||||||
|
':intitule' => array($exp->getIntitule(), \PDO::PARAM_STR),
|
||||||
|
':dateBegin' => array($exp->getDateDebut(), \PDO::PARAM_STR),
|
||||||
|
':dateEnd' => array($exp->getDateFin(), \PDO::PARAM_STR),
|
||||||
|
':nameIndustry' => array($exp->getNomEntreprise(), \PDO::PARAM_STR),
|
||||||
|
':currentJobb' => array($exp->isTravailActuel(), \PDO::PARAM_BOOL),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteExperience($id)
|
||||||
|
{
|
||||||
|
$query = 'DELETE FROM experience WHERE id=:id'
|
||||||
|
$this->con->executeQuery($query, array(
|
||||||
|
':id' => array($id, \PDO::PARAM_INT)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Ajouter une expérience</title>
|
||||||
|
<link rel="stylesheet" href="">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<h1>Ajouter une expérience</h1>
|
||||||
|
<form action="index.php?action=ajouterExperience" method="POST" enctype="multipart/form-data">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="intitule">Intitule :</label>
|
||||||
|
<input type="text" id="intitule" name="intitule" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="date">Date de début :</label>
|
||||||
|
<input type="date" id="dateDeb" name="dateDeb" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="date">Date de fin :</label>
|
||||||
|
<input type="date" id="dateFin" name="dateFin">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label for="intitule">Nom de l'entreprise :</label>
|
||||||
|
<input type="text" id="nomEntreprise" name="nomEntreprise" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="image">Job en cours ? :</label>
|
||||||
|
<input type="radio" name="image" id="image" required>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="submit" value="ajouter_Experience">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,37 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
{% if experience %}
|
||||||
|
<title>{{experience.intitule}}</title>
|
||||||
|
{% endif %}
|
||||||
|
<link rel="stylesheet" href="">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
{% include "menu.html" %}
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container mt-4">
|
||||||
|
{% if experience %}
|
||||||
|
<h1>Détails de l'Événement : {{experience.intitule}}</h1>
|
||||||
|
<div class="event-details">
|
||||||
|
<p><strong>nom de l'entreprise :</strong> {{ experience.nomEntreprise }}</p>
|
||||||
|
<p><strong>Date de début :</strong> {{ experience.dateDeb }}</p>
|
||||||
|
<p><strong>Date de fin :</strong> {{ experience.dateFin }}</p>
|
||||||
|
<p><strong>Job en cours ? :</strong> {{ experience.travailActuel }}</p>
|
||||||
|
|
||||||
|
<a href="../public/index.php?action=listerExperience">Retour</a>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<p>L'expérience n'existe pas ou n'est pas disponible.</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in new issue