1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
function getSpouses(array $user, $selection=null, $minGap=null, $maxGap=null,Spouse $spouse1=null){
global $db;
$dateFormat = LOCAL_DATE_FORMAT;
$query = "SELECT
id, last_name, first_name, middle_name, CONCAT(COALESCE(last_name, ''), ' ', COALESCE(first_name, ''), ', ', COALESCE(middle_name, '')) AS full_name,
DATE_FORMAT(birth_date, ?) AS birth_date, ' - ',
DATE_FORMAT(death_date, ?) AS death_date
FROM dat_persons";
$where = " WHERE id_abo=? AND gender=? ";
if (!$selection && ! empty($minGap) && ! empty($maxGap) && ! empty($spouse1) && ! empty($user['id_abo']) && ! empty($user['gender']) )
$minGap=(int) $minGap;
$maxGap=(int) $maxGap;
$where .= "AND (
(birth_date BETWEEN(? - INTERVAL ? YEAR) AND (? - INTERVAL ? YEAR))
OR
(birth_date BETWEEN(? + INTERVAL ? YEAR) AND (? + INTERVAL ? YEAR)))';";
$result = $db->prepare($query.$where);
$result->execute(array($user['id_abo'],$user['gender'],$spouse1->birth_date,$maxGap,$spouse1->birth_date,$minGap,$spouse1->birth_date,$minGap,$spouse1->birth_date,$maxGap));
}
elseif (! empty($user['id_abo']) && ! empty($user['gender']) && empty($selection) && empty($minGap) && empty($maxGap)){
$where .= "AND birth_date IS NULL;";
$result = $db->prepare($query.$where);
$result->execute(array($user['id_abo'],$user['gender']));
}
else{
return false;
}
return $result->fetchAll();
}
//version courte
//$spouses=getSpouses($_SESSION['user']);
//version longue
$spouses=getSpouses($_SESSION['user'], true, 1, 3, $spouse1);
if($spouses!==false){
echo '<pre>';
print_r($spouses);
echo '</pre>';
}
else{
echo 'Erreur dans les paramètres passés !<br/>';
}?> |
Partager