Foros del Web » Programando para Internet » PHP »

problema con consulta

Estas en el tema de problema con consulta en el foro de PHP en Foros del Web. Buenas tengo la siguiente tabla de registros de mysql: nombre VARCHAR(30) empresa VARCHAR(30) email VARCHAR(30) fecha DATE Y hago el siguiente SELECT para buscar: "SELECT ...
  #1 (permalink)  
Antiguo 03/02/2011, 09:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 2
problema con consulta

Buenas tengo la siguiente tabla de registros de mysql:

nombre VARCHAR(30)
empresa VARCHAR(30)
email VARCHAR(30)
fecha DATE

Y hago el siguiente SELECT para buscar:

"SELECT * FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' "

Lo muestro con un while:

Código PHP:
Ver original
  1. $rs=mysql_query(SELECT * FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2');
  2. if (mysql_num_rows($rs)){
  3. while ($c2 = mysql_fetch_row($rs)){
  4. echo $c2[0]
  5. }else{
  6. echo "no hay resultados entre esas fechas";
  7. }

El caso es que lo que quiero y haber si me pueden ayudar es como poner para que solo salga el ultimo registro de cada empresa. Si una empresa entre esas 2 fechas tiene 8 registros que solo me muestre la ultima.

Haber si me pueden ayudar

Un saludo y gracias
  #2 (permalink)  
Antiguo 03/02/2011, 09:52
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 3 meses
Puntos: 26
Respuesta: problema con consulta

Código PHP:
Ver original
  1. $rs=mysql_query(SELECT * FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' order by atributo_id desc limit 1);

en ese caso parece que no es necesario un while, si no un simple:

Código PHP:
Ver original 
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.

Última edición por bocho0610; 03/02/2011 a las 10:08
  #3 (permalink)  
Antiguo 03/02/2011, 11:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 2
Respuesta: problema con consulta

pero con ese limit solo saldria un registro no??? Yo lo que quiero es que sagan todos los registros que haya entre esa fecha pero en el caso de que salgan varios registros de una misma empresa solo salga el que tiene la fecha mas alta
  #4 (permalink)  
Antiguo 03/02/2011, 11:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 187
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: problema con consulta

Seria algo asi:

Código PHP:
$rs=mysql_query("SELECT distinct(empresa) FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' order by fecha DESC"); 
__________________
___________________________
Hosting y Dominios en colombia
Blog de Cubica
  #5 (permalink)  
Antiguo 03/02/2011, 11:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 2
Respuesta: problema con consulta

y con ese select puedo mostrar los demas campos ademas de la empresa???
  #6 (permalink)  
Antiguo 03/02/2011, 11:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 187
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: problema con consulta

Claro, asi:

Código PHP:
$rs=mysql_query("SELECT distinct(empresa) as empresa, nombre, email, fecha FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' order by fecha DESC"); 
__________________
___________________________
Hosting y Dominios en colombia
Blog de Cubica
  #7 (permalink)  
Antiguo 03/02/2011, 12:00
Avatar de bocho0610  
Fecha de Ingreso: enero-2010
Ubicación: <? echo "Santiago, Chile"; ?>
Mensajes: 341
Antigüedad: 14 años, 3 meses
Puntos: 26
Respuesta: problema con consulta

Cita:
Iniciado por asrael Ver Mensaje
Buenas tengo la siguiente tabla de registros de mysql:

nombre VARCHAR(30)
empresa VARCHAR(30)
email VARCHAR(30)
fecha DATE

Y hago el siguiente SELECT para buscar:

"SELECT * FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' "

Lo muestro con un while:

Código PHP:
Ver original
  1. $rs=mysql_query(SELECT * FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2');
  2. if (mysql_num_rows($rs)){
  3. while ($c2 = mysql_fetch_row($rs)){
  4. echo $c2[0]
  5. }else{
  6. echo "no hay resultados entre esas fechas";
  7. }

El caso es que lo que quiero y haber si me pueden ayudar es como poner para que solo salga el ultimo registro de cada empresa. Si una empresa entre esas 2 fechas tiene 8 registros que solo me muestre la ultima.

Haber si me pueden ayudar

Un saludo y gracias

aps fue error mio, creo que no se leer =/
__________________
Sigueme en Twitter!
Septimoarte.cl <-- Un mundo en cine.
  #8 (permalink)  
Antiguo 04/02/2011, 04:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años
Puntos: 2
Respuesta: problema con consulta

Con este codigo:

Código MySQL:
Ver original
  1. $rs=mysql_query("SELECT distinct(empresa) as empresa, nombre, email, fecha FROM registros WHERE fecha BETWEEN '2011/2/1' AND '2011/2/2' order by fecha DESC");

Me sigen apareciendo la misma empresa repetida todas las veces que sea asi que haber si me pueden decir como muestran el resultado de esa consulta.

Un saludo

Etiquetas: Ninguno
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 07:35.