Foros del Web » Programando para Internet » PHP »

ayuda con php

Estas en el tema de ayuda con php en el foro de PHP en Foros del Web. hola amigos tngo este error Warning: Division by zero in c:\siee\www\encuesta1.php on line 20 alguien sabe por que o aue se deb este error, gracias ...
  #1 (permalink)  
Antiguo 26/04/2005, 11:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 372
Antigüedad: 19 años, 1 mes
Puntos: 1
ayuda con php

hola amigos tngo este error Warning: Division by zero in c:\siee\www\encuesta1.php on line 20 alguien sabe por que o aue se deb este error, gracias por su ayuda me urge..


<?
include("conex_sie.php");
$link=Conectarse();

$opciones=array('Exelente','Bueno','Regular','Malo ');
if(isset($_GET["voto"]))
{
$ip=$REMOTE_ADDR;
$sql="INSERT INTO encuesta1 (ip,voto) VALUES ('$ip',".$_GET["voto"].")";
$votos=mysql_query($sql);
}
$i=0;
$sql2="SELECT count(ip) FROM encuesta1";
$total=mysql_result(mysql_query($sql2),0);
echo"<form><table border=0 cellpadding=0>\n";
while($opciones[$i])
{
$sql3="SELECT count(ip) FROM encuesta1 WHERE voto=$i";
$votos=mysql_result(mysql_query($sql3),0);
$porcentaje=round($votos/$total*100,2); //linea20
echo"<tr>\n";
echo"<td colspan=3><b>$opciones[$i]</b></td>\n";
echo"</tr>\n";
echo"<tr>\n";
echo" <td><input type=radio value=$i name=voto></td>\n";
echo"<td><hr color=#008000 size=10 width=$porcentaje aling=left>\n";
echo"</td>\n";
echo"<td aling=right>$porcentaje%($votos)</td>\n";
echo"</td>\n";
$i++;
}
echo"<tr>\n";
echo"<td colspan=3><bt><input type=submit value=Votar></td>\n";
echo"</table></form>";
?>
  #2 (permalink)  
Antiguo 26/04/2005, 11:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
El mensaje te esta diciendo que estás dividiendo entre 0... entonces $total ha de valer 0... imprimerlo para confirmarlo, tendrás que hacer una validación: if($total!=0)...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 26/04/2005, 12:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 372
Antigüedad: 19 años, 1 mes
Puntos: 1
pero no tengo idea como hacerlo, me pueden ayudar
  #4 (permalink)  
Antiguo 27/04/2005, 02:10
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
http://www.php.net/manual/es/control...-structures.if

Código PHP:
<?
include("conex_sie.php"); 
$link=Conectarse(); 

$opciones=array('Exelente','Bueno','Regular','Malo');
if(isset(
$_GET["voto"]))
{
$ip=$REMOTE_ADDR;
$sql="INSERT INTO encuesta1 (ip,voto) VALUES ('$ip',".$_GET["voto"].")";
$votos=mysql_query($sql);
}
$i=0;
$sql2="SELECT count(ip) FROM encuesta1";
$total=mysql_result(mysql_query($sql2),0);
if(
$total!=0) { // aquí
echo"<form><table border=0 cellpadding=0>\n";
while(
$opciones[$i])
{
  
$sql3="SELECT count(ip) FROM encuesta1 WHERE voto=$i";
  
$votos=mysql_result(mysql_query($sql3),0);
  
$porcentaje=round($votos/$total*100,2); //linea20
  
echo"<tr>\n";
  echo
"<td colspan=3><b>$opciones[$i]</b></td>\n";
  echo
"</tr>\n";
  echo
"<tr>\n";
  echo
" <td><input type=radio value=$i name=voto></td>\n";
  echo
"<td><hr color=#008000 size=10 width=$porcentaje aling=left>\n";
  echo
"</td>\n";
  echo
"<td aling=right>$porcentaje%($votos)</td>\n";
  echo
"</td>\n";
  
$i++;
 }
echo
"<tr>\n";
echo
"<td colspan=3><bt><input type=submit value=Votar></td>\n";
echo
"</table></form>";
} else echo 
"Se intentó dividir entre 0";
?>
Procura iluminar tú código.. ve que se ve mucho mejor... y lo que hice fue simplemente añadir lo que ya habia dicho... lee el link que te dejo, es básico.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.