1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public function getFree (string $startField, string $endFiled) {
define('DB_HOST', '127.0.0.1');
define('DB_NAME', 'test');
define('DB_USER', 'root');
define('DB_PWD' , '');
$pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME,DB_USER,DB_PWD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$start = DateTime::createFromFormat('Y-m-d H:i:s', $this->data[$startField]);
$end = DateTime::createFromFormat('Y-m-d H:i:s', $this->data[$endFiled]);
$sql = " SELECT * FROM events
WHERE ( end BETWEEN '{$start}' AND '{$end}' ) OR ( start <='{$start}' AND end >='{$end}' ) OR ( start >='{$start}' AND end <='{$end}' )
";
$sth = $pdo->prepare($query);
$sth->execute();
$resultat = $sth->rowCount();
if ($resultat != 0) {
$this->errors[$startField] = "Ce temps est déjà pris";
return false;
}
return true;
} |