Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta Mysql... como?

Estas en el tema de Consulta Mysql... como? en el foro de Bases de Datos General en Foros del Web. Hola a Todos! Estoy haciendo una aplicacion en php y mysql que tiene ordenes de trabajo y facturas. Necesito que la factura me muestre el ...
  #1 (permalink)  
Antiguo 24/09/2010, 18:59
Avatar de ss007  
Fecha de Ingreso: marzo-2002
Mensajes: 205
Antigüedad: 22 años, 1 mes
Puntos: 0
Exclamación Consulta Mysql... como?

Hola a Todos! Estoy haciendo una aplicacion en php y mysql que tiene ordenes de trabajo y facturas.
Necesito que la factura me muestre el detalle de la compra de la siguiente manera:

1____Computadora 1____________$ 500.-
-Mother Asus
-Memoria Kingston

1____Computadora 2____________$ 600.-
- Mother Intel
- Disco Segate


En esta factura estarian agrupadas dos ordenes de trabajo con sus respectivos detalles

En una la tabla Ordenes de trabajo tengo codigo_ot y codfactura

En la tabla factulinea (es la correspondiente al detalle)tengo codfactura, numlinea y detalle. (escribo solo los campos relevantes)

Si hago la siguiente consulta en mysql:
Código:
SELECT factulinea.*,otrabajo.codfactura 
FROM factulinea,otrabajo 
WHERE otrabajo.codfactura='97' AND factulinea.codfactura='97'
GROUP BY factulinea.numlinea
ORDER BY factulinea.numlinea ASC
Devuelve las 4 lineas, o sea:
Cita:
codfactura||numlinea||detalle
97 - 1 - Mother Asus
97 - 2 - Memoria Kingston
97 - 3 - Mother Intel
97 - 4 - Disco Seagate
Haciendo la siguiente misma consulta en php:
Código PHP:
<?php
$select_ot
="SELECT * FROM otrabajo WHERE codigo_ot IN (".$_POST["codigo_ot"].")";
$rs_ot=mysql_query($select_ot);

while (
$contador mysql_num_rows($rs_ot)) {
$codigo_ot=mysql_result($rs_ot,$contador,"codigo_ot");
$descripcion=mysql_result($rs_ot,$contador,"descripcion");
$precio=mysql_result($rs_ot,$contador,"precio");
?>
<? 
echo $codigo_ot?>
<? 
echo $descripcion?>
<? 
echo $precio?>

<?php
$sel_lineas
="SELECT factulinea.*,otrabajo.codfactura FROM factulinea,otrabajo WHERE otrabajo.codfactura='$codfactura' AND factulinea.codfactura='$codfactura' GROUP BY factulinea.numlinea ORDER BY factulinea.numlinea ASC ";
$rs_lineas=mysql_query($sel_lineas);
$contador1=0;
while(
$contador1 mysql_num_rows($rs_lineas)){
$detalle=mysql_result($rs_lineas,$contador1,"detalle");
$contador4++;}

echo 
" - ".$detalle

//cierre 1º bucle
$contador++;
}
?>
Devuelve:

1____Computadora 1____________$ 500.-
- Mother Asus

1____Computadora 2____________$ 600.-
- Mother Asus

Perdon, que haya escrito tanto, no encontre otra manera de explicarlo.
Desde ya gracias por la ayuda!
__________________
MonaS

Última edición por ss007; 24/09/2010 a las 22:00
  #2 (permalink)  
Antiguo 26/09/2010, 07:41
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Consulta Mysql... como?

Este bucle no puede estar funcinando bien:

while($contador1 < mysql_num_rows($rs_lineas)){
$detalle=mysql_result($rs_lineas,$contador1,"detal le");
$contador4++;}

Por un lado tenes un contador1 y por otro un contador4
  #3 (permalink)  
Antiguo 26/09/2010, 13:27
Avatar de ss007  
Fecha de Ingreso: marzo-2002
Mensajes: 205
Antigüedad: 22 años, 1 mes
Puntos: 0
Respuesta: Consulta Mysql... como?

Si, es cierto, eso lo habia corregido y aun asi no funciona. Olvide modificarlo aqui.
__________________
MonaS

Etiquetas: mysql
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 23:00.