Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar cumpleaños según la fecha de una BD

Estas en el tema de Mostrar cumpleaños según la fecha de una BD en el foro de PHP en Foros del Web. Hola todos soy novato en PHP estoy tratando de hacer que me extraiga la fecha de mi campo fecha_cumpleaños el mes y así poder comparar ...
  #1 (permalink)  
Antiguo 21/10/2016, 09:11
 
Fecha de Ingreso: junio-2015
Mensajes: 38
Antigüedad: 9 años, 6 meses
Puntos: 0
Información Mostrar cumpleaños según la fecha de una BD

Hola todos soy novato en PHP estoy tratando de hacer que me extraiga la fecha de mi campo fecha_cumpleaños el mes y así poder comparar con la fecha actual y saber si cumple años o no?
a continuación les dejo el código, sin error pero con la fecha ingresada manualmente.
Código PHP:
$mes_actual date('MM'); 
$fecha_cumple '1987-10-21'

$mes_cumple date('MM'strtotime($fecha_cumple)); 
if (
$mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!'
Ahora les dejo el codigo, que estoy extrayendo de una BD en postgresql, el problema es que me sale un error de Warning: strtotime() expects parameter 1 to be string, array given

Código PHP:
$pdo = new PDO('pgsql:host=localhost;port=5432;dbname=Eventos''postgres''12345');
$stmt $pdo->prepare("Select to_char(fecha_cumpleaños,'DD-MM-YYYY') from cliente");
$stmt->execute();
$cumpleaños $stmt->fetchAll(PDO::FETCH_COLUMN0);
var_dump($cumpleaños);


$mes_actual date('MM'); 
$mes_cumple date('MM'strtotime($cumpleaños)); 
if (
$mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!'
Si alguien pudiera ayudarme por favor.
  #2 (permalink)  
Antiguo 21/10/2016, 09:18
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 10 meses
Puntos: 10
Respuesta: Mostrar cumpleaños según la fecha de una BD

Cita:
Iniciado por draganus Ver Mensaje
Hola todos soy novato en PHP estoy tratando de hacer que me extraiga la fecha de mi campo fecha_cumpleaños el mes y así poder comparar con la fecha actual y saber si cumple años o no?
a continuación les dejo el código, sin error pero con la fecha ingresada manualmente.
Código PHP:
$mes_actual date('MM'); 
$fecha_cumple '1987-10-21'

$mes_cumple date('MM'strtotime($fecha_cumple)); 
if (
$mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!'
Ahora les dejo el codigo, que estoy extrayendo de una BD en postgresql, el problema es que me sale un error de Warning: strtotime() expects parameter 1 to be string, array given

Código PHP:
$pdo = new PDO('pgsql:host=localhost;port=5432;dbname=Eventos''postgres''12345');
$stmt $pdo->prepare("Select to_char(fecha_cumpleaños,'DD-MM-YYYY') from cliente");
$stmt->execute();
$cumpleaños $stmt->fetchAll(PDO::FETCH_COLUMN0);
var_dump($cumpleaños);


$mes_actual date('MM'); 
$mes_cumple date('MM'strtotime($cumpleaños)); 
if (
$mes_actual == $mes_cumple) echo 'Feliz Cumpleanos!!'
Si alguien pudiera ayudarme por favor.
La primera recomendación es que no uses ñ, pon cumpleanyos, pero muchos sistemas no cogen la ñ.
Creo que fetchAll siempre devuelve un array, por lo que eso es lo que estaría mal. Estas cogiendo el array que te devuelve fetchAll y lo pasas a strtotime.

Podrias usar fetchColumn(0), eso te devuelve solo el campo, no un array.
  #3 (permalink)  
Antiguo 21/10/2016, 09:26
 
Fecha de Ingreso: junio-2015
Mensajes: 38
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Mostrar cumpleaños según la fecha de una BD

Cita:
Iniciado por Hachikora Ver Mensaje
La primera recomendación es que no uses ñ, pon cumpleanyos, pero muchos sistemas no cogen la ñ.
Creo que fetchAll siempre devuelve un array, por lo que eso es lo que estaría mal. Estas cogiendo el array que te devuelve fetchAll y lo pasas a strtotime.

Podrias usar fetchColumn(0), eso te devuelve solo el campo, no un array.
Hola Hachikora si uso fetchColumn(0) solo me devolverá un cumpleaños y me gustaría comparar todos los cumpleaños por eso lo extraía en el array :S alguna otra recomendación para lograr esto.
  #4 (permalink)  
Antiguo 21/10/2016, 09:38
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 10 meses
Puntos: 10
Respuesta: Mostrar cumpleaños según la fecha de una BD

Cita:
Iniciado por draganus Ver Mensaje
Hola Hachikora si uso fetchColumn(0) solo me devolverá un cumpleaños y me gustaría comparar todos los cumpleaños por eso lo extraía en el array :S alguna otra recomendación para lograr esto.
Entonces deberías usar fetchAll y recorrer el array que te devuelve.
Código:
$cumpleaños = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);


$mes_actual = date('MM'); 
foreach($cumpleaños as $cumpleIndividual){
    $mes_cumple = date('MM', strtotime($cumpleIndividual));
    if ($mes_actual == $mes_cumple){
        echo 'Feliz Cumpleanos!!';
    }
}

Etiquetas: cumpleaños, fecha, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:28.