elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP - MYSQL: Seleccionar por las primeras cifras de una celda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: PHP - MYSQL: Seleccionar por las primeras cifras de una celda  (Leído 5,479 veces)
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« en: 19 Septiembre 2007, 16:09 pm »

Buenas,
tengo una db de noticias con una columna llamada fecha con datos del tipo 20070102,
para no tener que hacer 3 columnas diferentes para cada dato (tal vez sea mala idea a la larga?)... y ahora quiero hacer un buscador para que el usuario busque en el archivo segun el ano, o ano + mes... como podria hacer algo asi? es decir que si quiere ver todas las noticias de 2005, como haria para mostrar todas las filas en cuyo dato de la columna fecha sea 2005... ?

Gracias.


En línea

[ Alberto]
Wiki

Desconectado Desconectado

Mensajes: 1.232



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #1 en: 19 Septiembre 2007, 19:05 pm »

usa YEAR(date)
Devuelve el año para una fecha
funciones con fechas http://mysql.conclase.net/curso/index.php?cap=011a


En línea

Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #2 en: 19 Septiembre 2007, 19:20 pm »

Pero para esa funcion no tendria que estar la fecha en formuato YYYY-MM-DD? es decir, separando los datos con algun caracter...

Saludos
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #3 en: 19 Septiembre 2007, 20:45 pm »

cambia el tipo de campo a DATE y entonces solo te  preocupas de insertar bien la fecha al registro, aun que con la funcion NOW() te resuelves el problema
Código
  1. INSERT INTO `tabla` (id,fecha,contenido) VALUES(NULL,NOW(),'texto xD');

y listo >.<

luego solo pones un formulario donde selecciona un rango de fechas

Citar
selecciona fecha de inicio: Dia[___]Mes:[______]Año:[_____]
Fecha de termino: Dia[___]Mes:[______]Año:[_____]

y luego el query es mas facil xD
Código
  1. SELECT * FROM `noticias` WHERE fecha BETWEEN '$anyio-$mes-$dia' AND '$anyo2-$mes2-$dia2' LIMIT X,x
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #4 en: 19 Septiembre 2007, 20:57 pm »

Gracias, aunque necesitaria la fecha completa para la comparacion... como podria hacer que por ejemplo comparara tambien si el usuario solo introduce el el año o el año y mes?

EDITO: ya esta arreglado, pues me di cuenta de que si no quieres dar un mes o dia concreto pones el minimo en 0 y el maximo en 12 o 31 respectivamente y listo...

Saludos.
PD: me he fijado que google pilla los temas de este foro a los pocos minutos  :o
« Última modificación: 20 Septiembre 2007, 13:32 pm por Roberto T. » En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #5 en: 19 Septiembre 2007, 21:39 pm »

xD

Deja por default unos valores en los campos del tipo "select" del formulario

podrias hacer alguna funcion para que tome las fechas que ya tienes y las convierta en fecha "real/normal" a la base de datos, para esto mira este link
http://www.programacionweb.net/articulos/articulo/?num=112

:)
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #6 en: 20 Septiembre 2007, 13:48 pm »

Buenas,
disculpenme por ser tan pesado pero... que version de mysql es requerida para usar BETWEEN? es que tengo instalada la 4 y me aparece el siguiente error:

Citar
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...

Saludos.
« Última modificación: 20 Septiembre 2007, 19:54 pm por Roberto T. » En línea

[ Alberto]
Wiki

Desconectado Desconectado

Mensajes: 1.232



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #7 en: 20 Septiembre 2007, 22:22 pm »

si lo soporta, puede ser un error de sintaxis, reviza bien el scrip
En línea

Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #8 en: 21 Septiembre 2007, 00:26 am »

Yo he utilizado el SQL que ha posteado Azielito, solo le cambie el LIMIT a 5  :-X

Saludos y gracias.
PD: si no es molestia... como seria para aniadirle otro condicional a WHERE? es decir, poner algo como "AND categoria=$cat" ya que con lo de BETWEEN me confundo un poco.
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: PHP - MYSQL: Seleccionar por las primeras cifras de una celda
« Respuesta #9 en: 21 Septiembre 2007, 04:48 am »

A lo mejor no acabe de comprender tu peticion, o a lo mejor esto no te sirva, pero ya que quieres algo para semi-sustituir between puedes usar algo como;

select * from tabla where fecha >= '$año-$mes-$dia' and fecha <='$anio2-$mes2-$dia2' limit x ;

Recuerden que limit x no es una clausula SQL sino de Mysql, en SQL es top x..
digase por ejemplo :  select top 10 max(notas) from alumnos ;  mientras en Mysql lo hariamos ;  select max(notas) from alumnos limit 10;
:)
« Última modificación: 21 Septiembre 2007, 04:53 am por ^TiFa^ » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Seleccionar contenido de celda
Java
razler 4 4,042 Último mensaje 2 Septiembre 2013, 21:05 pm
por razler
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines