Autor Tema: SQL y PHP, haciendo una página web SELECT con fechas  (Leído 4860 veces)

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
SQL y PHP, haciendo una página web SELECT con fechas
« en: 09 de Agosto 2014, 18:09 »
Hola, ¿qué tal?

Me llamo leo, he escrito antes en el foro aprendizaje.

Ahora estoy haciendo mi propia página web, para aprender.

Tengo un problema en el que quizás me podáis ayudar.

-He creado una base de datos en 000webhost
-He creado un archivo html que se supone debe enseñar los datos relacionados a una fecha (mostrádose como un calendario).
-He conseguido que se muestre por pantalla lo que ocurre el día 01/01/2014, pero quiero que se muestre TODO lo que ocurre en ese mes, es decir el 03/01/2014 y el 04/01/2014 también.
-El código php está "dentro" del html y contiene a su vez el código SQL. He escrito SELECT * FROM valencia WHERE fecha_inicio = '01/01/2014' y funciona. Si sustituyo el '01' inicial por '*' no me muestra nada por pantalla.

No sé si estoy utilizando mal el asterisco. A ver si vosotros me podéis ayudar.
Incluyo el código debajo:

PHP:
Código: [Seleccionar]
<?php 
    
$link mysql_connect("mysql13.000webhost.com","a4047274_fiestas","urkaka12");

mysql_select_db("a4047274_fiestas"$link);

$result mysql_query("SELECT * FROM valencia WHERE fecha_inicio = '01/01/2014'"$link);


while($row mysql_fetch_array($result)){
echo "<hr>";
echo "Pueblo: ".$row['pueblo']."<br>";
echo "Fiesta: ".$row['fiesta']."<br>";
}

mysql_free_result($result);
mysql_close($link);
echo "<hr>";
?>

Gracias.
« Última modificación: 13 de Septiembre 2014, 18:59 por Alex Rodríguez »

juanitoXD

  • Sin experiencia
  • *
  • Mensajes: 44
    • Ver Perfil
Re:SQL y PHP, haciendo una página web
« Respuesta #1 en: 09 de Agosto 2014, 18:48 »
Hola, SELECT * FROM valencia WHERE fecha_inicio = '01/01/2014' lo que hace es tomar los datos de la fila donde fecha_inicio sea igual a 01/01/2014

Para tomar todos los datos existentes entre varias fechas usa between como aquí:

SELECT *
FROM `miTabla`
WHERE (fecha_inicio BETWEEN '2024-01-01 00:00:00' AND '2024-01-31 00:00:00')

Esto suponiendo que las fechas en la base de datos las tengas con un formato date normalizado, de ahí que la fecha haya que escribirla conforme a ese formato normalizado  :D

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:SQL y PHP, haciendo una página web
« Respuesta #2 en: 09 de Agosto 2014, 19:03 »
Pero si la fecha fuese tipo "caracter" ¿no se podría utilizar '*' en el SELECT?

Me ha gustado tu forma de resolverlo, y lo haré así, pero creo que tarde o temprano necesitaré buscar palabras que comiencen por una letra o conjunto de letras.

Gracias, y perdona las molestias.

PD: gracias por responder tan rápido.

juanitoXD

  • Sin experiencia
  • *
  • Mensajes: 44
    • Ver Perfil
Re:SQL y PHP, haciendo una página web
« Respuesta #3 en: 09 de Agosto 2014, 19:16 »
Si es una fecha en tu base de datos debería estar como fecha, no como cadena de texto o caracter porque a la larga eso te daria problemas.

Lo que comentas para búsquedas por caracteres, en MySql el comodín equivalente al asterisco no es * sino %, tendrías que escribir algo como esto:

SELECT * FROM `miTabla` WHERE `miCampo` LIKE '%noche%'

Esto te haría una selección de todas las filas donde el campo contenga un texto que contenga la palabra noche. Si fuera para que empiece por un texto sería:

SELECT * FROM `miTabla` WHERE `miCampo` LIKE 'noche%'

También puedes intercalar %, etc. para crear tus propias combinaciones

Saludos cordiales

URKA84

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 90
    • Ver Perfil
Re:SQL y PHP, haciendo una página web
« Respuesta #4 en: 10 de Agosto 2014, 09:50 »
Gracias por tu respuesta.
Me ha sido muy útil.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".