Tenemos 2 tablas
ventas (id_venta,id_cliente,total,fecha,id_vendedor)
facturas(id_factura,neto,iva,total,estado,id_venta,fecha)
La idea es la siguiente primero mostramos todos los campos de la tabla ventas en html (esto no genera problemas)
posteriormente generamos la venta y posteriormente la factura, al generar la venta la insercion va en la tabla ventas y al generar la factura la insercion va en la tabla facturas
Esto no es secuencial se puede hacer en cualquier momento, pero el problema viene aqui, cuando mostramos al principio todos los campos de la tabla ventas hay uno en el que tiene que poner si hay o no hay factura para esa venta
la idea es que compruebe si el campo id_venta es igual en las dos tablas, si es que existe en la tabla facturas,
el resultado deberia ser 0 en caso de que no haya o 1 en caso de que haya factura para la venta.
Esto se esta haciendo con php pdo, yo haciendo lo mismo no consigo que me funcione correctamente.
Cesar cancino hace que el resultado de un metodo sea el resultado de otro
Estos son mis metodos
delphi
public function listaVentas() { self::setNames(); $sql="select ventas.id_venta as ventasidventa, destinatario_factura.nombre as nombre_destinatario, vendedores.nombre as nombre_vendedor, clientes.nombre as nombre_cliente, total, concat_ws('-',day(ventas.fecha),month(ventas.fecha),year(ventas.fecha)) as fecha, concat_ws(':',hour(ventas.fecha),minute(ventas.fecha)) as hora from destinatario_factura,vendedores,ventas,clientes where destinatario_factura.id_destinatario_factura=ventas.id_destinatario and clientes.id_cliente=ventas.id_cliente and vendedores.id_vendedor=ventas.id_vendedor"; foreach ($this->conexion->query($sql) as $reg) { $this->personas[]=$reg; } return $this->personas; $this->conexion=null; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public function compruebaExisteFactura($id) { self::setNames(); self::set_names(); $sql="select * from factura where id_venta=?"; $stmt=$this->dbh->prepare($sql); if($stmt->execute( array($id) ) ) { while($row = $stmt->fetch()) { $this->factura[]=$row; } return $this->factura; $this->conexion=null; } } }
y asi lo llamo desde otro documento
delphi
$trabajoinstan= new Trabajo(); $listandoventas=$trabajoinstan->listaVentas(); for ($i = 0; $i < count($listandoventas); $i++) { $existefactura=$trabajoinstan->compruebaExisteFactura($listandoventas[$i]["ventasidventa"]); }
Todo esto esta en su tutorial 66 de php poo mejor explicado en el minuto 20
Espero me puedan ayudar.
Gracias