PHP - Como mostrar información si se cumple una fecha

   
Vista:

Como mostrar información si se cumple una fecha

Publicado por Gonzalo (4 intervenciones) el 15/02/2014 03:07:28
Estimados:

Primero que todo me presento, mi nombre es Gonzalo y soy de Santiago de Chile. Bueno, les cuento que estoy desarrollando un pequeño sistemita con php y necesito que cuando se cumpla una fecha se muestre cierta información. Hasta ahora lo he intentado de esta forma pero no funciona:

1
2
3
4
5
6
7
8
9
<?php
date_default_timezone_set("America/Santiago");
$date = date("d-m-Y");
if ($row_campeonato['fecha_cierre'] = $date){
echo ("El tiempo para agregar información ha expirado");
}else{
echo ("Puede seguir agregando información");
}
?>

Alguna orientación de que esta mal, o como deberia hacerlo.

De antemano muchas gracias
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

Como mostrar información si se cumple una fecha

Publicado por bathorz (33 intervenciones) el 15/02/2014 09:55:07
Con un solo = estás asignando valor en vez de comparar. Agrega 1 == o 2 ===.

1
2
3
error
                                    |
if ($row_campeonato['fecha_cierre'] = $date){
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Como mostrar información si se cumple una fecha

Publicado por Gonzalo (4 intervenciones) el 16/02/2014 00:09:38
Ya lo habia probado con doble == de esta manera:

if ($row_campeonato['fecha_cierre'] == $date){

pero no me resulta. ¿Tendra algo que ver el como se ingresa la fecha en la BD?, en este momento se escribe manual, es decir 15-02-2014.
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
Imágen de perfil de xve

Como mostrar información si se cumple una fecha

Publicado por xve (5523 intervenciones) el 16/02/2014 21:50:49
Hola Gonzalo, haz un echo $row_campeonato['fecha_cierre']." == ".$date; y veras los dos valores... de esta manera veras el formato que tienes en la base de datos.

Por defecto, el formato es ingles, YYYY-MM-DD
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

Como mostrar información si se cumple una fecha

Publicado por bathorz (33 intervenciones) el 16/02/2014 10:49:10
El campo date se muestra como calendario en navegador con soporte pleno html5: Opera o Chrome...
He cambiado a 'Y-m-d' para esta prueba porque es el formato por defecto del input tipo date, no por otro motivo.
Haz un echo a la respuesta de la BBDD $row_campeonato['fecha_cierre'] y compara el formato con el que enviado.
Cualquier cosa el lunes, que hoy es domingo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
date_default_timezone_set("America/Santiago");
?>
<form method="post">
  <input type="date" name="fecha" value="<?php echo date('Y-m-d'); ?>" />
  <input type="submit" name="enviar" value="enviar">
</form>
<?php
if (isset($_POST['enviar'])) {
  $row_campeonato['fecha_cierre'] = $_POST['fecha'];
  $date = date('Y-m-d');
 
  echo $row_campeonato['fecha_cierre'] . ' <-- Fecha de cierre';
  echo '<br>';
 
  if ($row_campeonato['fecha_cierre'] <= $date) {
    echo $date . " <-- El tiempo para agregar información ha expirado";
  } else {
    echo $date . " <-- Puede seguir agregando información";
  }
}
?>
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

Como mostrar información si se cumple una fecha

Publicado por Gonzalo (4 intervenciones) el 17/02/2014 23:36:45
Estimado muchas gracias, ahora funciona perfecto. Le hice unas pequeñas modificaciones al código:
1
2
3
4
5
6
7
8
9
10
11
<?php
$date = date('Y-m-d');
if ($row_campeonato['fecha_cierre'] == $date);
  echo '<br>';
 
  if ($row_campeonato['fecha_cierre'] <= $date) {
    echo "El tiempo para agregar información ha expirado";
  } else {
  echo "<a href=\"ins_part.php\">Agregar</a>";
  }
?>
Hasta aquí todo bien, pero ahora me asalto otro problemita. La idea es que si se cumple con la fecha, diga como mensaje "El tiempo ha expirado", pero si no, que se active un link para agregar mas información. El tema es que el link que tengo hecho, es de la siguiente forma, ya que la idea es que arrastre algunos valores, como el id de la empresa, el id del campeonato y el id del equipo:

<a href="ins_part.php?id_emp=<?php echo $row_empresa['id']; ?>&amp;id_camp=<?php echo $row_campeonato['id']; ?>&amp;id_equip=<?php echo $row_equipo['id']; ?>">Ingresar jugadores</a>

Al querer agregar esa gran línea me da error. He probado algunas cosas y no me resulta, solo dejando el link simple como ya lo agregue más arriba.

De antemano muchas gracias por la ayuda.
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
Imágen de perfil de xve

Como mostrar información si se cumple una fecha

Publicado por xve (5523 intervenciones) el 18/02/2014 08:17:07
Hola Gonzalo gracias por comentarlo...

el link parece correcto... que error te da?
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

Como mostrar información si se cumple una fecha

Publicado por Gonzalo (4 intervenciones) el 18/02/2014 11:53:13
Estimado:

Con este código: echo "<a href=\"ins_part.php\">Agregar</a>"; efectivamente me lleva a la página. El problema ésta en que necesito que me identifique a que empresa, campeonato y equipo es a quién le voy agregar información, es por esto que yo habia utilizado este otro código:

<a href="ins_part.php?id_emp=<?php echo $row_empresa['id']; ?>&amp;id_camp=<?php echo $row_campeonato['id']; ?>&amp;id_equip=<?php echo $row_equipo['id']; ?>">Agregar información</a>

De esta forma estoy arrastrando el ID de la empresa, el ID del campeonato y el ID del equipo, y funciona perfecto, pero al querer agregarlo al código que verifica el tema de la fecha me da un error de STRING, ya que si te fijas estoy agregando un HTML con partes en PHP dentro de otro PHP.

Espero que ahora haya quedado más claro.
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
Imágen de perfil de xve

Como mostrar información si se cumple una fecha

Publicado por xve (5523 intervenciones) el 18/02/2014 15:47:12
Hola Gonzalo, no me queda muy claro el error que te da... puede ser que algunos de las variables php devuelve un error o algun texto con comillas?

Entiendo que no hay ningún espacio entre ?> en tu código, verdad?

Has probado a ir añadiendo variables de una en una? haber si defines bien donde esta el error?
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

Como mostrar información si se cumple una fecha

Publicado por bathorz (33 intervenciones) el 18/02/2014 20:36:38
Test:
1
2
3
4
5
6
7
8
9
10
11
12
$row_empresa['id'] = 'idEmpresa_1';
$row_campeonato['id'] = 'campeonato_1';
$row_equipo['id'] = 'idEquipo_1';
 
if ($row_campeonato['fecha_cierre'] <= $date) {
  echo "El tiempo para agregar información ha expirado";
} else {
  echo "<a href=\"ins_part.php?id_emp=" . $row_empresa['id']
  . "&id_camp=" . $row_campeonato['id']
  . "&id_equip=" . $row_equipo['id']
  . "\">Agregar información</a>";
}

* En ins_part.php:
print_r($_GET);

* Debería dar:
Array ( [id_emp] => idEmpresa_1 [id_camp] => campeonato_1 [id_equip] => idEquipo_1 )
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