Comparación de Fechas

Hola,
Me estoy volviendo loco para comparar una fecha. ¿Podrías mirarme el código a ver por qué no me lo hace bien?
Mi campo de fecha en MySQL es tipo date.
$date =time ();
$result = mysql_query("SELECT * FROM horarios WHERE fecha=$date ORDER BY id DESC");
Esto es lo que pongo en el PHP, pero no hace bien la comparación.
¿Cómo debería de formularlo?
Gracias!

1 Respuesta

Respuesta
1
En primer lugar no deberías usar time() sino date() y especificar el formato, que para SQL debe ser año-mes-día.
En segundo lugar la fecha debe estar escrita entre comillas simples en la sentencia SQL.
En resumen:
$date = date("Y-m-d");
$result = mysql_query("SELECT * FROM horarios WHERE fecha='$date' ORDER BY id DESC");
Como ya te comenté en otra pregunta, estoy haciendo una especie de calendario de Eventos.
Me he dado cuenta que hacer un calendario es muy complicado, por lo que creo mejor hacer algo de las siguiente manera:
- Los eventos tienen Fecha, Hora de inicio y fin, otros detalles.
- En PHP, comparo la fecha del evento con el día de hoy y de hoy a una semana. En caso de que esté en el tramo, muestro el evento.
El tema es que pondré un nuevo campo con Actividades Destacadas (SI o NO). Si la actividad es destacada, la muestro (aunque no cumpla la condición de la fecha).
¿Crees qué esto es mejor que hacer todo un calendario?
Gracias por los consejos y saludos
No sé si puedo opinar sobre esto. Esto son cosas que debes valorar en el contexto de tu aplicación, de lo que quieras que haga, de lo que será mejor para el usuario...
Personalmente, creo que lo que más debe influenciar es que sea útil para el usuario. Eso debes valorarlo tú, que sabes lo que estás programando y a qué público te diriges.
A veces lo mejor es hacerlo y dejar que alguien lo pruebe para que te cuente su experiencia: si le gustó, si lo encontró sencillo o complicado...
Comprendo.
Una cosita más por favor.
Estoy muy preocupado porque los acentos/tildes no me salen cuando uso PHP.
He intentado ver tutoriales, pero no me queda clara cuál es la solución.
¿Te importaría explicarme cómo solucionar esto?
Gracias!
Tienes diferentes opciones: una escribir los acentos en formato HTML mediante la función htmlspecialchars()
<?php
echo htmlspecialchars("Un camión se salió de la calzada en España");
?>
Otra posibilidad es codificar tus páginas con el mismo código de caracteres donde almacenes los datos. Puedes usar ISO-8859-1 que suele usarse en Europa Occidental o bien UTF-8
Por favor, para consultas distintas te agradecería que cerrases la consulta finalizada y abrieses una nueva, para que así el titulo de la consulta corresponda con el contenido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas