Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/07/2012, 21:34
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer grafica de tarta con php

Hola de nuevo alguien me podruia echar una manito este script del grafico me sale excelente pero cuando no existen datos en la tabla salen estos errores.

Warning: Division by zero in C:\wamp\www\Validacion\Graficas de consultas\grafica.php on line 65

Warning: Division by zero in C:\wamp\www\Validacion\Graficas de consultas\grafica.php on line 65

Warning: Division by zero in C:\wamp\www\Validacion\Graficas de consultas\grafica.php on line 65

aqui esta el script que estoy usando para el grafico

Código PHP:
Ver original
  1. <?php
  2.  
  3. // Obtener datos actuales de la votación
  4.  
  5. $sqll= mysql_query("select * from periodo_escolar order by id desc") or die(mysql_error());
  6. $array3 = mysql_fetch_array($sqll);
  7.      
  8. $sql=mysql_query("select count(nota1) as total from notas") or die("Problemas en el select:".mysql_error());
  9. $reg=mysql_fetch_array($sql);
  10.  
  11. $sql2=mysql_query("select count(nota1) as cantidad from notas where nota1 <= 10 and lapso = '".$array3['lapso']."' and grado = '7'") or die("Problemas en el select:".mysql_error());
  12. $reg2=mysql_fetch_array($sql2);
  13.  
  14.  
  15. $sql3=mysql_query("select count(nota1) as cantidad from notas where nota1 >= 11 and nota1 <= 15 and lapso = '".$array3['lapso']."' and grado = '7'") or die("Problemas en el select:".mysql_error());
  16. $reg3=mysql_fetch_array($sql3);
  17.  
  18. $sql4=mysql_query("select count(nota1) as cantidad from notas where nota1 >= 16 and lapso = '".$array3['lapso']."' and grado = '7'") or die("Problemas en el select:".mysql_error());
  19. $reg4=mysql_fetch_array($sql4);
  20.  
  21. $total_notas1=100*$reg2['cantidad']/$reg['total'];
  22.  
  23. $total_notas2=100*$reg3['cantidad']/$reg['total'];
  24.  
  25. $total_notas3=100*$reg4['cantidad']/$reg['total'];
  26.  
  27. $votos1 = $reg2['cantidad'];
  28. $votos2 = $reg3['cantidad'];
  29. $votos3 = $reg4['cantidad'];
  30.  
  31. $datosTabla = array(
  32.         array( "Nota <= a 10", "$total_notas1", "#FF0000"),
  33.         array( "Nota < 11 y > a 15", "$total_notas2", "#00FF00"),
  34.         array( "Nota >= a 16", "$total_notas3", "#0000FF")
  35. );
  36. $maximo = 0;
  37. foreach ( $datosTabla as $ElemArray ) { $maximo += $ElemArray[1]; }
  38. ?>
  39. <body>
  40. <table width="434" height="22" border="0">
  41.   <tr>
  42.     <td width="121"><div align="center" class="Estilo1">Promedio </div></td>
  43.     <td width="153"><div align="center" class="Estilo1">Porcentaje</div></td>
  44.     <td width="125"><div align="center" class="Estilo1">Gr&aacute;fico</div></td>
  45.   </tr>
  46. </table>
  47. <table width="483" height="27" cellpadding="2" cellspacing="0">
  48. <?php foreach( $datosTabla as $ElemArray ) {
  49. $porcentaje = round((( $ElemArray[1] / $maximo ) * 100),2);
  50.  
  51. ?>
  52. <tr>
  53.     <td width="37%"><strong><?php echo( $ElemArray[0] ) ?></strong></td>
  54.     <td width="26%"><?php echo( $porcentaje ) ?>%</td>
  55.     <td width="37%">
  56.         <table width="<?php echo($porcentaje) ?>%" bgcolor="<?php echo($ElemArray[2]) ?>">
  57.         <tr><td></td></tr>
  58.     </table>    </td>
  59.   </tr>
  60.     <?php } ?>
  61. </table>


Esta es la linea donde esta el error

$porcentaje = round((( $ElemArray[1] / $maximo ) * 100),2);