Foros del Web » Programando para Internet » PHP »

Mostrar una consulta sin utilizar While...

Estas en el tema de Mostrar una consulta sin utilizar While... en el foro de PHP en Foros del Web. Estimados, Tengo esta consulta que funciona correctamente haciendo un Query directamete a la base. Código PHP: SELECT          Sum ( reservas_movimientos . Cantidad ),           productos ...
  #1 (permalink)  
Antiguo 18/11/2009, 14:29
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 19 años
Puntos: 0
Mostrar una consulta sin utilizar While...

Estimados,

Tengo esta consulta que funciona correctamente haciendo un Query directamete a la base.
Código PHP:
SELECT
         Sum
(reservas_movimientos.Cantidad),
         
productos.NombreProducto,
         
reservas_movimientos.Observaciones,
         
reservas.FechaReserva
FROM
         reservas
         Inner Join reservas_movimientos ON reservas_movimientos
.IdReserva =       reservas.IdReserva
         Inner Join productos ON productos
.IdProducto reservas_movimientos.IdProducto
WHERE
         reservas
.FechaReserva >=  '2009-11-18' AND
         
reservas.FechaReserva <=  '2009-11-22'
GROUP BY
         productos
.IdProducto
ORDER BY
         reservas
.FechaReserva ASC,
         
productos.NombreProducto ASC 
Ahora bien;

Quiero mostrar esta consulta pero cuando utilizo:

Código PHP:
while( $registro mysql_fetch_array$resultado ))  {

      echo 
$registro['FechaReserva'] ." - ".$registro['Cantidad'] ." - ".$registro['NombreProducto'] ;



El proceso de WHILE me muestra cada registro en la condición dada. Necesito mostrar lo mismo que me aparace cuando hago la consulta en mi apartado "QUERY" de mi aplicación "Navicat for SQL"

Una ayuda?
Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 18/11/2009, 14:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Mostrar una consulta sin utilizar While...

:S podrias poner la diferencia..
en todo caso si necesitas que solo te muestre 1 cambia el while por if..
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 18/11/2009, 17:36
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Mostrar una consulta sin utilizar While...

O con LIMIT en la consulta ya esta, no me quedo muy clara tu duda.
  #4 (permalink)  
Antiguo 18/11/2009, 18:43
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Respuesta: Mostrar una consulta sin utilizar While...

el while se utiliza cuando vas a mostrar mas de un resultado

en caso de que solo sea un solo resultado, cambia esto
Código PHP:
while( $registro mysql_fetch_array$resultado ))  {

      echo 
$registro['FechaReserva'] ." - ".$registro['Cantidad'] ." - ".$registro['NombreProducto'] ;



por esto

Código PHP:
$registro mysql_fetch_array$resultado );
echo 
$registro['FechaReserva'] ." - ".$registro['Cantidad'] ." - ".$registro['NombreProducto'] ; 
  #5 (permalink)  
Antiguo 19/11/2009, 07:48
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 19 años
Puntos: 0
Respuesta: Mostrar una consulta sin utilizar While...

Me explicaré mejor:
Cuando hago la consulta en la aplicación que utilizo parar administrar mis bases (NaviCat for SQL). El resultado que obtengo es similar a:

sum(Cantidad) - NombreProducto - FechaReserva
80 Mono 2009-11-19
120 Platos 2009-11-20

Es decir, el campo Cantidad, me lo va sumando agrupando por cada NombreProducto. Ahora bien, en PHP no se como hacer para mostrar el mismo resultado que obtengo en el QUERY que hago directamente a la base.

Al realizado el:
While {} este me muestra cada registro por separado. NO me respeta el "Sum(Cantidad)" y el GroupBy "IdProducto".

Espero habarme explicado mejor.
Gracias!
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:00.