Hola a todos tengo el siguiente código el cual checa los datos insertados en una tabla y de acuerdo a esto agrupa y "gráfica los resultados" (genera td)... el problema lo tengo cuando en esa tabla no tengo ningun dato insertado me muestra lo siguiente Warning: Invalid argument supplied for foreach() lo cual supongo que es por que es vacío...
Código PHP:
<table >
<font face="Arial, Helvetica, sans-serif" size="2.5" color="#000" >
<?php
mysql_select_db($database_connection, $connection);
$query_total = "SELECT medio as NombreMedio, count(medio) .......";
$totalmedios = mysql_query($query_total, $connection) or die(mysql_error());
$totalm=0; //declaro variable. Esta variable tendrá la suma total de todos los medios
if ( mysql_num_rows ( $totalmedios ) > 0 ) {
$I=0;
while ($row = mysql_fetch_array($totalmedios)) {
$Grafico[$I]['Titulo'] =$row['NombreMedio'];
$Grafico[$I]['Valor'] = $row['TotalMedio'];
$Grafico[$I]['Color'] = '#54B837';
$I++;
/* echo '<font face="Arial" size="2.5"> Medio:</font> ' .$row["NombreMedio"]." ".'promedio '.$redondeo.'%<br>'; //Muestro el promedio */
}
mysql_free_result($totalmedios); //libero el objeto */
$Max = 0;
foreach ( $Grafico As $Datos ) { $Max += $Datos['Valor']; }
}
else{
$porcentaje = 0;
$redondeo = 0;
echo "Total:0%";
}
?>
<table width="600" cellspacing="0" cellpadding="2">
<?php
foreach( $Grafico As $Datos ) {/*ACA MARCA EL ERROR*/
$POR = Round((( $Datos['Valor'] / $Max ) * 100),2);
echo <<<HTML
<tr>
<td width="20%">
<strong>$Datos[Titulo]:</strong> $Datos[Valor]
</td>
<td>
<Div Style="width:$POR%;background:$Datos[Color];" Class="Barra"> </Div>$POR%
</td>
</tr>
HTML;
}
?>
</table>