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!