Foros del Web » Programando para Internet » PHP »

Ayuda Hacerlo mas facil y corto en PHP usando bucles

Estas en el tema de Ayuda Hacerlo mas facil y corto en PHP usando bucles en el foro de PHP en Foros del Web. Que tal quisiera saber como puedo hacer mas pequeño cierto codigo, es un test de preguntas manejado por radio, al final solo lo que quiero ...
  #1 (permalink)  
Antiguo 05/04/2005, 10:15
 
Fecha de Ingreso: diciembre-2003
Ubicación: Guayaquil
Mensajes: 18
Antigüedad: 14 años
Puntos: 0
Ayuda Hacerlo mas facil y corto en PHP usando bucles

Que tal quisiera saber como puedo hacer mas pequeño cierto codigo, es un test de preguntas manejado por radio, al final solo lo que quiero es contar cuantas preguntas fueron correctas y cuantas no en el archivo resultado.php.

Por ejemplo:

Código HTML:
<form action="resultado.php" method="post">
<table width="382" border="1">
  <tr>
    <td>Caperucita Roja era mala? </td>
    <td>Si <input name="radio1" type="radio" value="0"></td>
    <td>No <input name="radio1" type="radio" value="1"></td>
  </tr>
  <tr>
    <td>El lobo que vio caperucita era Grande? </td>
    <td>Si
    <input name="radio2" type="radio" value="1"></td>
    <td>No
    <input name="radio2" type="radio" value="0"></td>
  </tr>
  <tr>
    <td>Caperucita se comio a su abuelita?</td>
    <td>Si
    <input name="radio3" type="radio" value="0"></td>
    <td>No
    <input name="radio3" type="radio" value="1"></td>
  </tr>
  <tr>
    <td>Caperucita era una ni&ntilde;a muy Bonita </td>
    <td>Si
    <input name="radio4" type="radio" value="1"></td>
    <td>No
    <input name="radio4" type="radio" value="0"></td>
  </tr>
  <tr>
    <td>El lobo era bueno? </td>
    <td>Si
    <input name="radio5" type="radio" value="0"></td>
    <td>No
    <input name="radio5" type="radio" value="1"></td>
  </tr>
  <tr>
    <td>La capa de caperucita era roja? </td>
    <td>Si
    <input name="radio6" type="radio" value="1"></td>
    <td>No
    <input name="radio6" type="radio" value="0"></td>
  </tr>
  <tr>
    <td>El lobo no se metio a la cama y abrio los ojos </td>
    <td>Si
    <input name="radio7" type="radio" value="0"></td>
    <td>No
    <input name="radio7" type="radio" value="1"></td>
  </tr>
  <tr>
    <td>El le&ntilde;ador  mato al lobo? </td>
    <td>Si
    <input name="radio8" type="radio" value="1"></td>
    <td>No
    <input name="radio8" type="radio" value="0"></td>
  </tr>
</table>
<input type="submit" name="Enviar" value="Ver Resultados">
</form> 
Le he dado el valor de 1 al radio correcto y 0 al erroneo, esta informacion la envio al resultado.php que es el codigo que deseo hacer mas facil y corto.

Script resultado.php

Código PHP:
if($radio1 == 1)
{
$correctas 1;
} else {
$erroneas 1;
}
if(
$radio2 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio3 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio4 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio5 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio6 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio7 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}
if(
$radio8 == 1)
{
$correctas $correctas 1;
} else {
$erroneas $erroneas 1;
}

echo 
'usted tiene '.$correctas.' respuestas correctas y '.$erroneas.' erroneas'
Espero alguien me de ideas para mejorar gracias desde ya
  #2 (permalink)  
Antiguo 05/04/2005, 11:03
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 9 meses
Puntos: 17
si de nombre le ponés radio[] a todas y despues haces un
for($a=0;$a<count($radio);$a++) {
if($radio[$a] == 1) {
$correctas = $correctas + 1;
} else {
$erroneas = $erroneas + 1;
}
}

igual... si la cantidad es siempre la misma erroneas va a ser total - correctas... es necesario llevar la cuenta de ambosd?
  #3 (permalink)  
Antiguo 05/04/2005, 11:59
 
Fecha de Ingreso: diciembre-2003
Ubicación: Guayaquil
Mensajes: 18
Antigüedad: 14 años
Puntos: 0
si es necesario, esta exelente el codigo gracias
  #4 (permalink)  
Antiguo 05/04/2005, 12:32
 
Fecha de Ingreso: diciembre-2003
Ubicación: Guayaquil
Mensajes: 18
Antigüedad: 14 años
Puntos: 0
no me quiere funcionar dicho codigo ya que no imprime cuantas correctas y cuantas erroneas
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 07:03.