Foros del Web » Programando para Internet » ASP Clásico »

Filtrar informacion de la BD

Estas en el tema de Filtrar informacion de la BD en el foro de ASP Clásico en Foros del Web. Hola a todos!! Necesito complementar unas paginas privadas de administración del sitio, con consultas filtradas a partir de la base de datos. Por ejemplo, si ...
  #1 (permalink)  
Antiguo 03/06/2006, 17:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Filtrar informacion de la BD

Hola a todos!!
Necesito complementar unas paginas privadas de administración del sitio, con consultas filtradas a partir de la base de datos. Por ejemplo, si quiero pedir que me imprima todos los registros que coincidan con un determinado campo, que estos lo hagan, por caso, de acuerdo a la cantidad.
Ejemplo: si la consulta está referida a la cantidad de ingresos en la BD durante un período dado (ej. una semana), o bien, si se refiere a la cantidad de productos cotizados segun su nombre que sea en orden descendente o ascendente de acuerdo a las cantidades de los mismos...
Espero haberme sabido explicar....

Como siempre, muchas gracias por anticipado a quienes me puedan sugerir como hacerlo.

Edysierra
  #2 (permalink)  
Antiguo 03/06/2006, 20:06
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Mira para lo de las semana existen funciones que puedes buscar en google que te dan la diferencia de dias entre dos fechas, solo tienes que ingeniartela para crear un sistema que te lea la fecha actual y le reste la cantidad de dias que tiene una semana, en este caso 7 u 8 dependiendo.

despues solo tienes que hacer una busqueda con orden de fecha si es en MySQL hay algo que te la organiza por fecha pero ahora mismo no recuerdo.

Yo lo haria asi aunque no se como explicarlo mejor, asi mismo puedes hacer lo otro solo en la busqueda ponle los limites que se puede en MySQL.

Si no me entendiste te puedo enviar un ejemplo pero el Lunes!
__________________
________________________________
Moisés Bretón
[email protected]
  #3 (permalink)  
Antiguo 03/06/2006, 20:08
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Ah tambien puedes decirle a la BD en que orden lo quieres!
__________________
________________________________
Moisés Bretón
[email protected]
  #4 (permalink)  
Antiguo 05/06/2006, 08:20
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Se podria probar...

Gracias Moises por tu respuesta. Si te es posible, enviame el codigo que me referencias. Creo que podria servir pero tendria que probarlo.
Mi mail es [email protected].
Te agradezco nuevamente.

Edysierra
  #5 (permalink)  
Antiguo 05/06/2006, 08:48
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 7 meses
Puntos: 2
el orden se lo indicas tu a la base de datos, cosa de que te "responda" según tus necesidades:

select * From cotizaciones ORDER BY FECHA ASC <--- en forma ascendente de menor a mayor
select * From cotizaciones ORDER BY FECHA DESC<-- en forma descendente de mayor a menor.

para seleccionar un cierta cantidad, si trabajas con aspy sql server por ejemplo
SELECT TOP 10 FROM COTIZACIONES WHERE ...................

espero haberte ayudado
__________________
Exito!!
:censura:
Visita Uganet.cl
  #6 (permalink)  
Antiguo 05/06/2006, 08:54
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
ok si es MySQL y quieres ponerle limites a la busqueda y a la ves organizar la fecha en orden DESC es asi

"select * from tu_BD order by fecha desc limit "&inicial&","&final&""
__________________
________________________________
Moisés Bretón
[email protected]
  #7 (permalink)  
Antiguo 05/06/2006, 09:01
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Gracias Gabo...

Creo que por este lado es que tengo que apuntar, pues asi puedo pedir TODO en orden descendente o ascendente. Pero, y aprovechando tu respuesta, me pregunto lo siguiente: si lo que se quiere es seleccionar La Ultima Semana, Los Ultimos Quince Dias o bien El Ultimo Mes (por medio de un select en el form), en la instruccion a la BD deberia indicarle de alguna manera el parametro para que filtre el resultado segun haya sido la opcion escogida.
Sabiendo esto ya puedo aplicarlo tambien a otras consultas... Gracias de nuevo!

Edysierra
  #8 (permalink)  
Antiguo 05/06/2006, 09:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Moises, eso es...

Moises, te agradezco la rapidez en tu respuesta. Como le decia a Gabo, creo que es ese el punto que andaba necesitando... Si te interesa, lee lo que le respondi pues tambien te lo pregunto a vos: filtrar nno solo por orden desc o ascend, sino tambien por periodos determinados de días.
Gracia por la ayuda..!
  #9 (permalink)  
Antiguo 05/06/2006, 09:05
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
http://www.desarrolloweb.com/manuales/9/
  #10 (permalink)  
Antiguo 05/06/2006, 09:15
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
ok hay dos condiciones para que te devuelva el valor entre las dos fechas y aqui te dejo un ejemplo para mas o menos veas

SELECT * FROM BD fecha >= '1985-01-01' and fecha <= '2006-05-01'

SELECT * FROM BD where fecha between '1985-01-01' and '2006-05-01'

Con eso solo te retorna las fechas que esten entre esos valores incluyendolos.

Espero esto te sirva
__________________
________________________________
Moisés Bretón
[email protected]
  #11 (permalink)  
Antiguo 05/06/2006, 09:17
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Ya lo que falta es que le des un poco de cabeza a como ingeniartela para decirle si es entre semanas o entre meses

Pero ya eso es mas sencillo por mi parte creo que te complaci con lo de la BD!
__________________
________________________________
Moisés Bretón
[email protected]
  #12 (permalink)  
Antiguo 05/06/2006, 09:18
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 7 meses
Puntos: 2
puedes hacer un between, ve el manual de Sql que posteo trasgukabi, parte por eso, ojo que el tema de fechas se maneja en forma diferente en algunos motores de bases de datos como SQL server y MySql y en lenguajes tb. entre php y asp hay una pequeñas "sutilesas"....
__________________
Exito!!
:censura:
Visita Uganet.cl
  #13 (permalink)  
Antiguo 11/06/2006, 16:24
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Es un principio...

Cita:
Iniciado por La_LeY
ok hay dos condiciones para que te devuelva el valor entre las dos fechas y aqui te dejo un ejemplo para mas o menos veas

SELECT * FROM BD fecha >= '1985-01-01' and fecha <= '2006-05-01'

SELECT * FROM BD where fecha between '1985-01-01' and '2006-05-01'

Con eso solo te retorna las fechas que esten entre esos valores incluyendolos.

Espero esto te sirva
Muy bien, es una buena idea, pero te amplio mi consulta: como hacer para que el usuario que consultará la BD pueda escoger entre parámetros predeterminados como, por ejemplo, la ultima semana, los ultimos quin ce dias o el ultimo mes...??? Estimo que con un Select en el html pero...

Gracias por tu respuesta y las de los demás, me han servido de mucho... ah, descargue el tutorial de sql y me ha sido de mucha utilidad.
  #14 (permalink)  
Antiguo 11/06/2006, 21:22
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Bueno eddy sierra, dependiendo la forma que lo quieras utilizar, yo me inclinaria por el Select en HTML con un poco de JavaScript para capturar a el momento del usuario seleccionar, pero dime lo que quieres hacer y buscaremos una solucion!
__________________
________________________________
Moisés Bretón
[email protected]
  #15 (permalink)  
Antiguo 12/06/2006, 08:28
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
Un poco mas clara mi idea..

Bueno, lo que en realidad necesito hacer es que, desde una pagina del admin, se pueda realizar una serie de consultas sobre la BD (cantidad de pedidos realizados en un período dado (ej. en la ultima semana o 15 días), cual es el artículo más solicitado (por cantidad), etc). Ciertas consultas las he resuelto, solo faltaria esta relacionada con los períodos.
La idea es que el usuario, en el html, escoja sobre que períodos (predeterminados) necesita la información y lo haga sobre un Select en el form. Supongamos que le doy tres opciones: 1 semana, 2 semanas y 1 mes. Cuando selecciona cualquiera de esas opciones realizar la consulta a la bd.
Espero haberme sabido explicar mejor. Gracias por tu respuesta anterior.

Edysierra
  #16 (permalink)  
Antiguo 13/06/2006, 09:06
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Ok yo lo haria utilizando JavaScript que sería de la siguiente forma:

Pongo el select
<select name="limites">
<option value=""> </option>
<option value="1">1 Semana</option>
<option value="2">2 Semanas</option>
<option value="3">1 Mes</option>
</select>

Con JavaScript Seria lo mismo que le dieran a "Enter" claro dentro de un formulario o a el voton supongamos "Visualizar"

Despues lo mandarias a tu pagina donde hará la consulta o si quieres a ella misma, capturas el valor del select y seleccionas el tipo de busqueda

por ejemplo
si es semanal solo tienes que saber la fecha que tienes eso lo haces con Now(), y restarle a los dias 7 ya eso seria un poco complicado por que tienes que verificar si esa fecha brinca a un mes anterior tomar en cuenta los meses de 31 dias y los de 30 tanto como en febrero que puede ser 29 o 28 dependiendo si el año es visiesto, pero no te preocupes que para eso ya hay funciones. Solo tienes que buscarlas por que no las tengo a mano.

if request.form("limites")= 1 then
' calculas cual es la fecha de la semana anterior
'sabes la fecha de ahora con Now()
'y pones la busqueda

sSQL="SELECT * FROM BD where fecha between 'FECHA ANTERIO' and 'FECHA DE AHORA'"
end if

Asi mismo harías con dos semanas, y con un mes seria mas facil por que ya hay solo le quitas 1 a el mes y verificas si no es 31 o 30 y el mes de febrero.

Espero esto te sirva de orientacion ya que no tengo tiempo para desarrollartelo y dartelo como ejemplo.

De todas maneras si crees que no puedes hacerlo me avisas y saco un tiempo y te lo hago.

P. D. Toma en cuenta las fechas para las consultas porque es muy importante que sean correctas!
__________________
________________________________
Moisés Bretón
[email protected]
  #17 (permalink)  
Antiguo 14/06/2006, 17:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 19 años, 4 meses
Puntos: 1
De acuerdo Creo que por ahi debe estar...

Gracias La Ley por tomarte tiempo para responderme. Creo que lo que me explicas allí seria el camino correcto para lograr lo que estoy necesitando. Desde luego que, si dentro de tus posibilidades de tiempo, pudieras darme una mano me vendria muy bien, al menos como para tener un codigo básico. Luego lo adaptaria a otras situaciones donde debiera filtrar otro tipo de datos de la BD.
Gracias de nuevo...

Edysierra
  #18 (permalink)  
Antiguo 19/06/2006, 13:49
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 7 meses
Puntos: 2
algo un poco más complejo sería insertar uno de esos varios calendarios que andan circulando (san google.com te puede ayudar), en asp o javascript, con eso el usuario selecciona la fecha escogida la cual pasas como parametro, pudiendo colocar dos calendarios y que el indique los paramtros de busqueda, pudiendo usar un between como te decia anteriormente y/o >o<.
Exito.
Aca un ejemplo de mi amiga Tunait

http://www.tunait.com/javascript/ind...ioselecciondia
__________________
Exito!!
:censura:
Visita Uganet.cl
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 22:49.