PHP - Sacar la edad por medio de la fecha

 
Vista:

Sacar la edad por medio de la fecha

Publicado por Nayely (8 intervenciones) el 22/01/2017 23:41:23
Hola, tengo un problema que me gustaria mucho que me ayudaran, esta es mi consulta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Calcula_edad($idpac){
	$sql = "SELECT YEAR(CURDATE())-YEAR(`paciente`.`p_fecha_nac`) +
		IF(DATE_FORMAT(CURDATE(),'%m-%d') > DATE_FORMAT(`paciente`.`p_fecha_nac`,'%m-%d'), 0, -1) AS `EDAD_ACTUAL`
	FROM `paciente` WHERE `paciente`.`id_paciente`= ? ";
 
	$query = $this->db->query($sql, array($idpac));
	$query = $query->result_array();
	if (!empty($query)) {
		return $query[0];
	}else{
		// return array();
	}
 
}

el problema es que en lugar de traer una variable ocupo 2, que es la de fecha, el problema es que no se como adaptar mi consulta, quitar todas las paciente.p_fecha_nac por la variable que traigo en mi controlador

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Calcula_edad($idpac,$fecha){
	$sql = "SELECT YEAR(CURDATE())-YEAR( ............) +
		IF(DATE_FORMAT(CURDATE(),'%m-%d') > DATE_FORMAT(...............,'%m-%d'), 0, -1) AS `EDAD_ACTUAL`
	FROM `paciente` WHERE `paciente`.`id_paciente`= ? ";
 
	$query = $this->db->query($sql, array($idpac));
	$query = $query->result_array();
	if (!empty($query)) {
		return $query[0];
	}else{
		// return array();
	}
 
}

Espero me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Sacar la edad por medio de la fecha

Publicado por xve (6935 intervenciones) el 23/01/2017 08:51:51
Hola Nayely, segun entiendo, quieres poner la variable $fecha que pasas a la función dentro de la consulta sql, verdad?

Seria algo así:
1
2
3
"SELECT YEAR(CURDATE())-YEAR( ............) +
IF(DATE_FORMAT(CURDATE(),'%m-%d') > DATE_FORMAT(".$fecha.",'%m-%d'), 0, -1) AS `EDAD_ACTUAL`
FROM `paciente` WHERE `paciente`.`id_paciente`= ? ";

Es esto lo que buscas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar la edad por medio de la fecha

Publicado por Nayely (8 intervenciones) el 23/01/2017 15:54:21
Si, de hecho si, pero ya lo solucione, de cualquier manera muchas gracias ^^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar