Función php para calcular rango de fechas de nacimientos según edades

En esta ocasión voy a compartir una función php que realice para un proyecto, en donde se quería consultar por ejemplo de la entidad personas, todos los registros en donde la persona  tuviese entre 15 y 19 años.

La función la llame rango_fechas($edad_minima=0,$edad_maxima=0), en donde retorna la consulta mysql a aplicar, obviamente dentro de un between.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function rango_fechas($edad_minima=0,$edad_maxima=0){

$fecha_desde=""; $fecha_hasta="";
if($edad_maxima>0){
$anio_max=date("Y")-$edad_maxima;
$fecha_desde = $anio_max."-01-01";
}
if($edad_minima>0){
$anio_min=date("Y")-$edad_minima;
$fecha_hasta=$anio_min."-".date("m")."-".date("d");
}
if(($fecha_desde!="")&&($fecha_hasta!="")){
$condicion="fecha_nacimiento between '".$fecha_desde."' and '".$fecha_hasta."'";
}elseif($fecha_desde!=""){
$condicion="fecha_nacimiento>='".$fecha_desde."'";
}elseif($fecha_hasta!=""){
$condicion="fecha_nacimiento<='".$fecha_hasta."'";
}
return $condicion;

}

Ejemplo de como usarla en una consulta sql con php

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
<?php

function rango_fechas($edad_minima=0,$edad_maxima=0){

$fecha_desde=""; $fecha_hasta="";
if($edad_maxima>0){
$anio_max=date("Y")-$edad_maxima;
$fecha_desde = $anio_max."-01-01";
}
if($edad_minima>0){
$anio_min=date("Y")-$edad_minima;
$fecha_hasta=$anio_min."-".date("m")."-".date("d");
}
if(($fecha_desde!="")&&($fecha_hasta!="")){
$condicion="fecha_nacimiento between '".$fecha_desde."' and '".$fecha_hasta."'";
}elseif($fecha_desde!=""){
$condicion="fecha_nacimiento>='".$fecha_desde."'";
}elseif($fecha_hasta!=""){
$condicion="fecha_nacimiento<='".$fecha_hasta."'";
}
return $condicion;

}

$ssql="select nombre from personas where ".rango_fechas(15,19);

?>

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*