Foros del Web » Programando para Internet » PHP »

Do while anidado

Estas en el tema de Do while anidado en el foro de PHP en Foros del Web. Saludos amigos del foro, estoy intentando mostrar una consulta para ingresar unos datos de una evaluación así: Preguntas Respuestas Pregunta 1 5 4 3 2 ...
  #1 (permalink)  
Antiguo 06/11/2007, 08:04
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Do while anidado

Saludos amigos del foro, estoy intentando mostrar una consulta para ingresar unos datos de una evaluación así:

Preguntas Respuestas
Pregunta 1 5 4 3 2 1 No Aplica
Pregunta 2 5 4 3 2 1 No Aplica
Pregunta n 5 4 3 2 1 No Aplica


Las Respuestas son botones de radio. El problema es que las preguntas son una consulta y las respuestas están en otra. lo estoy intentando con una tabla mediante este codigo, pero no se me repite las opciones de respuesta. Las preguntas se repiten en filas y las respuestas se deberían repetir en columnas. ¿Cómo puedo lograr esto?

<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>Pregunta</td>
<td>5</td>
<td>4</td>
<td>3</td>
<td>2</td>
<td>1</td>
<td>No Aplica</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Nuev_res_Eval_Item['Pregunta']; ?></td>
<?php do { ?>
<td><input type="radio" id="Cod_nivel_calificac" name="Cod_nivel_calificac" value="<?php echo $row_Nuev_res_eval_niv_calif['Cod_nivel_calificac']; ?>" /></td>
<?php } while ($row_Nuev_res_eval_niv_calif = mysql_fetch_assoc($Nuev_res_eval_niv_calif)); ?>
</tr>
<?php } while ($row_Nuev_res_Eval_Item = mysql_fetch_assoc($Nuev_res_Eval_Item)); ?>
</table>

De antemano gracias.
  #2 (permalink)  
Antiguo 06/11/2007, 09:04
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Do while anidado

intenta usar solo el while en vez del do... while
Código PHP:
<?php
while ($row_Nuev_res_Eval_Item mysql_fetch_assoc($Nuev_res_Eval_Item)){
    echo 
'<tr><td>'.$row_Nuev_res_Eval_Item['Pregunta'].'</td>';
    while (
$row_Nuev_res_eval_niv_calif mysql_fetch_assoc($Nuev_res_eval_niv_calif)){
        echo 
'<td><input type="radio" id="Cod_nivel_calificac" name="Cod_nivel_calificac" value="'.$row_Nuev_res_eval_niv_calif['Cod_nivel_calificac'].'" /></td>';
    }
}
?>
espero que sea lo que buscas, suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 06/11/2007, 09:42
 
Fecha de Ingreso: diciembre-2006
Ubicación: Tunja
Mensajes: 177
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Do while anidado

No pude de esa forma pero lo solucioné asi:

<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>Cod_item_evaluac</td>
<td>Item_evaluacion</td>
<td>Tipo_item</td>
<td>5</td>
<td>4</td>
<td>3</td>
<td>2</td>
<td>1</td>
<td>No Aplica</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Nuev_res_Eval_Item['Cod_item_evaluac']; ?></td>
<td><?php echo $row_Nuev_res_Eval_Item['Item_evaluacion']; ?></td>
<td><?php echo $row_Nuev_res_Eval_Item['Tipo_item']; ?></td>
<td><input type="radio" id="Cod_nivel_calificac5" name="Cod_nivel_calificac5" value="<?php echo $row_niv_calif[5]; ?>" /></td>
<td><input type="radio" id="Cod_nivel_calificac4" name="Cod_nivel_calificac4" value="<?php echo $row_niv_calif[4]; ?>" /></td>
<td><input type="radio" id="Cod_nivel_calificac3" name="Cod_nivel_calificac3" value="<?php echo $row_niv_calif[3]; ?>" /></td>
<td><input type="radio" id="Cod_nivel_calificac2" name="Cod_nivel_calificac2" value="<?php echo $row_niv_calif[2]; ?>" /></td>
<td><input type="radio" id="Cod_nivel_calificac1" name="Cod_nivel_calificac1" value="<?php echo $row_niv_calif[1]; ?>" /></td>
<td><input type="radio" id="Cod_nivel_calificac0" name="Cod_nivel_calificac0" value="<?php echo $row_niv_calif[0]; ?>" /></td>
</tr>
<?php } while ($row_Nuev_res_Eval_Item = mysql_fetch_assoc($Nuev_res_Eval_Item)); ?>
</table>

El problema ahora es que solamente puedo seleccionar 1 botón de radio entre todos los botones. Necesito que solamente pueda escoger 1 de los 5 que aparacen por cada fila.

Gracias.
  #4 (permalink)  
Antiguo 06/11/2007, 09:52
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Do while anidado

tienes que cambiar el nombre del radio para cada fila generada.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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:46.