Foros del Web » Programando para Internet » PHP »

for each repetitivos

Estas en el tema de for each repetitivos en el foro de PHP en Foros del Web. que tal tengo un problema es que necesito mostrar un input con id de variable y a la vez mostrar el texto de resultado; estoy ...
  #1 (permalink)  
Antiguo 07/09/2012, 07:49
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 15 años, 4 meses
Puntos: 2
Exclamación for each repetitivos

que tal tengo un problema es que necesito mostrar un input con id de variable y a la vez mostrar el texto de resultado; estoy haciendo estoy con un complemento llamado wiris; en el fichero donde me conecto tengo esto:
Código PHP:
$alternativas = array();
        if (
$objPregunta->getObjTipoSolucion()->getIdTipoSolucion() == 1) {
            
$opcionCorrecta $objPregunta->getOpcionCorrecta();
            
$opcionIncorrecta1 $objPregunta->getOpcionIncorrecta1();
            
$opcionIncorrecta2 $objPregunta->getOpcionIncorrecta2();
            
$indiceCorrecta substr($objPregunta->getOpcionCorrecta(), 1);
            
$indiceIncorrecta1 substr($objPregunta->getOpcionIncorrecta1(), 1);
            
$indiceIncorrecta2 substr($objPregunta->getOpcionIncorrecta2(), 1);
            
$alternativas[] = array($opcionCorrecta => $vals[$indiceCorrecta]);
            
$alternativas[] = array($opcionIncorrecta1 => $vals[$indiceIncorrecta1]);
            
$alternativas[] = array($opcionIncorrecta2 => $vals[$indiceIncorrecta2]);
            
shuffle($alternativas);
        }
        
        
$alternativas2 = array();
        if (
$objPregunta->getObjTipoSolucion()->getIdTipoSolucion() == 1) {
            
$opcionCorrecta replaceVariables($vals$objPregunta->getOpcionCorrecta());
            
$opcionIncorrecta1 replaceVariables($vals$objPregunta->getOpcionIncorrecta1());
            
$opcionIncorrecta2 replaceVariables($vals$objPregunta->getOpcionIncorrecta2());
            
$indiceCorrecta substr($objPregunta->getOpcionCorrecta(), 1);
            
$indiceIncorrecta1 substr($objPregunta->getOpcionIncorrecta1(), 1);
            
$indiceIncorrecta2 substr($objPregunta->getOpcionIncorrecta2(), 1);
            
$alternativas2[] = array($opcionCorrecta => $vals[$indiceCorrecta]);
            
$alternativas2[] = array($opcionIncorrecta1 => $vals[$indiceIncorrecta1]);
            
$alternativas2[] = array($opcionIncorrecta2 => $vals[$indiceIncorrecta2]);
            
shuffle($alternativas2);
        }
        
//replace the values in the question text
        
$text replaceVariables($vals$questiontextInicial);
        
$variablesPreparadas = array();
        
$variablesPreparadas[0] = $alternativas// aquí están las variables ID
        
$variablesPreparadas[2] = $alternativas2;// aquí están las variables Resultado
        
return $variablesPreparadas
ahi obtengo las variables tanto de BD como el resultado al completar la operacion ahora estas las recupero en mi index:
Código PHP:
    $alternativas $variablesPreparadas[0];
    
$alternativas2 $variablesPreparadas[2]; 
para luego mostrarlas en un formulario php:
Código PHP:
<label for="txtRespuesta">Seleccione Respuesta2: </label>
<?php
foreach ($alternativas2 as $elementos2) {
    foreach(
$elementos2 as $indice2 => $alternativa2) {
        foreach (
$alternativas as $elementos) {
            foreach(
$elementos as $indice => $alternativa) {
            
$idinput=$indice;
            }
        }
?>
            <input type="radio" name="txtRespuesta" id="txtRespuesta" value="<?php echo $idinput?>" />
<?php echo $indice2?>&nbsp;&nbsp;&nbsp;&nbsp;
<?php
    
}
}
?>
<br />
el problema es que solo obtengo un solo id y no los 3 correspondientes.
alguien que me pueda ayudar gracias....
  #2 (permalink)  
Antiguo 07/09/2012, 08:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: for each repetitivos

$idinput=$indice; en el último ciclo y pretendes mostrarlo 2 niveles por fuera, sólo obtendrás el último, evalúa bien que quieres hacer
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/09/2012, 08:43
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 15 años, 4 meses
Puntos: 2
Pregunta Respuesta: for each repetitivos

Cita:
Iniciado por maycolalvarez Ver Mensaje
$idinput=$indice; en el último ciclo y pretendes mostrarlo 2 niveles por fuera, sólo obtendrás el último, evalúa bien que quieres hacer
bueno no entiendo mucho lo que me dices; pero de esa manera:
Código PHP:
<?php
foreach ($alternativas2 as $elementos2) {
    foreach(
$elementos2 as $indice2 => $alternativa2) {
?>
   <input type="radio" name="txtRespuesta" id="txtRespuesta" value="<?php 
   
foreach ($alternativas as $elementos) {
   foreach(
$elementos as $indice => $alternativa) {
   echo 
$indice
   break;
   }
  } 
   
?>" />
<?php echo $indice2?>&nbsp;&nbsp;&nbsp;&nbsp;
<?php
    
}
}
?>
lo que me imprime en el input es lo siguiente:
Código HTML:
<input id="txtRespuesta" type="radio" value="#d#c#e" name="txtRespuesta">
18    
<input id="txtRespuesta" type="radio" value="#d#c#e" name="txtRespuesta">
2    
<input id="txtRespuesta" type="radio" value="#d#c#e" name="txtRespuesta">
-8  
y si lo hago por separado:
Código PHP:
<?php        
foreach ($alternativas as $elementos) {
    foreach(
$elementos as $indice => $alternativa) {
    
$idinput=$indice;
    }
}
?>
<br/>
<label for="txtRespuesta">Seleccione Respuesta2: </label>
<?php
foreach ($alternativas2 as $elementos2) {
    foreach(
$elementos2 as $indice2 => $alternativa2) {
?>
            <input type="radio" name="txtRespuesta" id="txtRespuesta" value="<?php echo $idinput?>" />
<?php echo $indice2?>&nbsp;&nbsp;&nbsp;&nbsp;
<?php
    
}
}
?>
<br />
me sale esto:
Código HTML:
<label for="txtRespuesta">Seleccione Respuesta2: </label>
<input id="txtRespuesta" type="radio" value="#d" name="txtRespuesta">
0    
<input id="txtRespuesta" type="radio" value="#d" name="txtRespuesta">
16    
<input id="txtRespuesta" type="radio" value="#d" name="txtRespuesta">
-8
  #4 (permalink)  
Antiguo 07/09/2012, 08:44
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: for each repetitivos

lo que quiero es que imprima las 3 variables por separado

Etiquetas: formulario, variables
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 22:39.