Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema consulta

Estas en el tema de Problema consulta en el foro de PHP en Foros del Web. Estoy intentando realizar una consulta de los precios de una reparación que se ha realizado. Ambos precios están siendo guardados en una misma reparación, y ...
  #1 (permalink)  
Antiguo 28/07/2015, 09:53
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Problema consulta

Estoy intentando realizar una consulta de los precios de una reparación que se ha realizado.

Ambos precios están siendo guardados en una misma reparación, y cuando intento recuperar los precios de los productos que se han utilizado en la reparación, sólo consigo extraer el último precio.

La inserción en la base de datos se realiza de forma correcta:



Realizo la siguiente sentencia para su búsqueda:

Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion=$codrep");
  2.  
  3. while($fila=mysqli_fetch_assoc($consultarp)){
  4. $preciopro = $fila['precio'];
  5. }

Uso el bucle while para poder obtener ambos precios para el código de reparación que introduzco a través del formulario.

Realizando la consulta mediante PHP no logro obtener más que el precio del último producto.

He probado a realizar echos de las variables, y como digo, sólo aparece el precio del último producto.

Sin embargo, si esta sentencia la traslado al workbench de mysql, obtengo el resultado que deseo:



He probado a poner el 1 como código de reparación en la consulta que realizo por PHP, pero aún así, tampoco recupero ambos valores.

No veo dónde puede estar el error, he revisado ya varias veces, y no doy con el problema.

Un saludo, y muchas gracias.

Última edición por xPHPerox; 28/07/2015 a las 09:54 Razón: No se mostraba la última imagen.
  #2 (permalink)  
Antiguo 28/07/2015, 10:01
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problema consulta

prueba asi:
Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion=$codrep");
  2.  
  3. while($fila=mysqli_fetch_array($consultarp)){
  4.  echo $fila['precio']."<br>";
  5. }
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 28/07/2015, 10:04
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Problema consulta

Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion=$codrep");
  2.  
  3. while($fila=mysqli_fetch_array($consultarp)){
  4. $preciopro = $fila['precio']."<br>";
  5. }

He probado, y tampoco recoge los dos valores.
  #4 (permalink)  
Antiguo 28/07/2015, 10:10
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problema consulta

cierra con comillas simples la variable a ver:
Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion='$codrep'");
  2.  
  3. while($fila=mysqli_fetch_array($consultarp)){
  4.  echo $fila['precio']."<br>";
  5. }
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 28/07/2015, 10:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema consulta

Cita:
Iniciado por xPHPerox Ver Mensaje
Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion=$codrep");
  2.  
  3. while($fila=mysqli_fetch_array($consultarp)){
  4. $preciopro = $fila['precio']."<br>";
  5. }

He probado, y tampoco recoge los dos valores.
Estás sobreescribiendo la misma variable $preciopro tantas veces como el foreach() de vueltas.

¿No deberías ir acumulando dicho valor o almacenarlo en un array?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 28/07/2015, 10:17
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Busqueda Respuesta: Problema consulta

Cita:
Iniciado por pateketrueke Ver Mensaje
Estás sobreescribiendo la misma variable $preciopro tantas veces como el foreach() de vueltas.

¿No deberías ir acumulando dicho valor o almacenarlo en un array?
Claro..no había caído en eso, por eso únicamente conseguía recoger el último valor, ahora lo entiendo un poco más, jeje.

Muchas gracias por la ayuda, probaré a hacer lo que me has comentado y les diré como me fue.

Perfecto, siguiendo los consejos que me has dado he conseguido solucionarlo, pateketrueke, muchas gracias :)

Código PHP:
Ver original
  1. $consultarp = mysqli_query($conexionbd, "select precio from producto p, utilizado u where p.id_producto=u.id_producto AND cod_reparacion=$codrep");
  2.            
  3.             while($fila=mysqli_fetch_array($consultarp)){
  4.             $preciopro[] = $fila['precio'];
  5.             }
  6.             foreach($preciopro as $precioproducto){
  7.             $totalp += $precioproducto;
  8.             }
  9.             $importe = $preciopr+$totalp;
  10.             $insertar1 = mysqli_query ($conexionbd, "INSERT into factura_reparacion (tipopago, importetotal, fechafactura) VALUES ('$pago', $importe, STR_TO_DATE('$fecha','%Y-%m-%d'))");

Última edición por xPHPerox; 28/07/2015 a las 14:10 Razón: Solucionado.

Etiquetas: formulario, html, mysql, select, sql, variable
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 00:37.