al momento de querer sacar el calculo de rentabilidad se demora muchisimo en enviar los resultados y entiendo es por la complejidad de la base de datos.
Bueno ahora bien, en mi sistema que utilizo para hacer las consultas (EMS)
salen los resultados perfectamente, pero al momento de hacer la consulta en php
no me envia los resultados.
la consulta es la siguiente
Código SQL:
Ver original
SELECT persona.id_persona, CONCAT(persona.nombrepersona, ' ', persona.apellidopersona) AS VENDEDOR, ROUND(IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario)))) AS FINAL, ROUND(SUM( registroarticulos.costoarticulo*(detalledocumento.cantidad - IFNULL(detalledocumento1.cantidad,0))))AS COSTO, ROUND(( IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario)))-SUM( registroarticulos.costoarticulo*(detalledocumento.cantidad - IFNULL(detalledocumento1.cantidad,0))))) AS UTILIDAD, ROUND((( IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario)))-SUM( registroarticulos.costoarticulo*(detalledocumento.cantidad - IFNULL(detalledocumento1.cantidad,0))))/IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario))))*100,1) AS PORCENTAJE FROM persona INNER JOIN documento ON (persona.id_persona = documento.fkcreador) INNER JOIN detalledocumento ON (documento.iddocumento = detalledocumento.fkiddoc) LEFT OUTER JOIN documento documento1 ON (documento.iddocumento = documento1.numerodocobedece) LEFT OUTER JOIN detalledocumento detalledocumento1 ON (documento1.iddocumento = detalledocumento1.fkiddoc) AND (detalledocumento1.fkcodigoarticulo = detalledocumento.fkcodigoarticulo) INNER JOIN registroarticulos ON (detalledocumento.fkcodigoarticulo = registroarticulos.fkcodigoarticulo) WHERE documento.fkidvendedor = 126 AND documento.fkidestadodoc = 113 AND (documento.fkidtipodoc = 113 OR documento.fkidtipodoc=115 )AND documento.fechaemisiondoc BETWEEN STR_TO_DATE(CONCAT('01-12-2010', ' 00:00:00'), '%d-%m-%Y %H:%i:%s') AND STR_TO_DATE(CONCAT('31-12-2010', ' 23:59:59'), '%d-%m-%Y %H:%i:%s') AND registroarticulos.idregistroarticulo=(SELECT MAX(registroarticulos.idregistroarticulo) FROM registroarticulos WHERE registroarticulos.fkcodigoarticulo = detalledocumento.fkcodigoarticulo ) GROUP BY persona.id_persona, CONCAT(persona.nombrepersona, ' ', persona.apellidopersona)
ahora bien si me resulta en el EMS (programa para hacer consultas)
por que no me resulta en php?
siendo este codigo el de php:
Código PHP:
Ver original
if(!$_SESSION['rut']) { include('../includes/php/funciones.php'); salidasistema3(); } include('../includes/php/coneccion.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>cierre</title> </head> <body> <div id="contenedor_principal" align="center" style="width:99%; height:99%; display:block; font-size:18px"> <div style="height:10%; width:99%; font-size:18px;"></div> <div style="height:89%; width:99%; font-size:18px;"> <?php // if(!empty($_GET['e_credito']) ) // { $link = conectar2(); /* execute multi query */ $fecha=$_GET['fecha']; $xsql="SELECT persona.id_persona, CONCAT(persona.nombrepersona, ' ', persona.apellidopersona) AS VENDEDOR, ROUND(IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario)))) AS VENDIDO, ROUND(SUM( registroarticulos.costoarticulo*(detalledocumento.cantidad - IFNULL(detalledocumento1.cantidad,0))))AS COSTO, ROUND(( IFNULL((SUM(detalledocumento.cantidad * detalledocumento.vunitario) - SUM(detalledocumento1.cantidad * detalledocumento1.vunitario)),(SUM(detalledocumento.cantidad * detalledocumento.vunitario)))-SUM( registroarticulos.costoarticulo*(detalledocumento.cantidad - IFNULL(detalledocumento1.cantidad,0))))) AS UTILIDAD FROM persona INNER JOIN documento ON (persona.id_persona = documento.fkcreador) INNER JOIN detalledocumento ON (documento.iddocumento = detalledocumento.fkiddoc) LEFT OUTER JOIN documento documento1 ON (documento.iddocumento = documento1.numerodocobedece) LEFT OUTER JOIN detalledocumento detalledocumento1 ON (documento1.iddocumento = detalledocumento1.fkiddoc) AND (detalledocumento1.fkcodigoarticulo = detalledocumento.fkcodigoarticulo) INNER JOIN registroarticulos ON (detalledocumento.fkcodigoarticulo = registroarticulos.fkcodigoarticulo) WHERE documento.fkidvendedor = 126 AND documento.fkidestadodoc = 113 AND (documento.fkidtipodoc = 113 OR documento.fkidtipodoc=115 )AND documento.fechaemisiondoc BETWEEN STR_TO_DATE(CONCAT('01-12-2010', ' 00:00:00'), '%d-%m-%Y %H:%i:%s') AND STR_TO_DATE(CONCAT('31-12-2010', ' 23:59:59'), '%d-%m-%Y %H:%i:%s') AND registroarticulos.idregistroarticulo=(SELECT MAX(registroarticulos.idregistroarticulo) FROM registroarticulos WHERE registroarticulos.fkcodigoarticulo = detalledocumento.fkcodigoarticulo ) GROUP BY persona.id_persona, CONCAT(persona.nombrepersona, ' ', persona.apellidopersona)"; echo '<table width="500" height="34" border="1" cellpadding="1" cellspacing="1"> <tr> <td>ID</td> <td>Vendedor</td> <td>Vendido</td> <td>Costo</td> <td>Utilidad</td> <td>Porcentaje</td> </tr> '; { do { /* store first result set */ { { //printf("%s\n", $row[0]); ?> <tr> <td style="font-size:18px; width:50px"><?php echo $row[1]; ?></td> <td style="font-size:18px; width:50px"><?php echo $row[3]; ?></td> <td style="font-size:18px;"><?php echo $row[5]; ?></td> <td style="font-size:18px;"><?php echo $row[6]; ?></td> <td style="font-size:18px;"></td> </tr> <?php $cobrar=$cobrar+$row[4]; $pagado=$pagado+$row[5]; $saldo=$saldo+$row[6]; } } /* print divider */ // if (mysqli_more_results($link)) // { //printf("-----------------\n"); /// } } echo '</table><table width="500" height="34" border="0" cellpadding="0" cellspacing="0"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td style="border-top:thin; border-color:#000">Conforme Caja</td> <td></td> <td></td> <td></td> </tr> </table>'; ?> <table><tr><td style="border-top:thin; border-color:#000"></table> </div></div> </body> </html>