Foros del Web » Programando para Internet » PHP »

Problema con RADIO y DB

Estas en el tema de Problema con RADIO y DB en el foro de PHP en Foros del Web. Hola buenas, tengo un problema que no puedo resolver, intento montar un formulario desde una base de datos, puede traer checkbox y radios. el problema ...
  #1 (permalink)  
Antiguo 08/08/2012, 17:03
 
Fecha de Ingreso: agosto-2012
Mensajes: 17
Antigüedad: 12 años, 3 meses
Puntos: 0
Problema con RADIO y DB

Hola buenas, tengo un problema que no puedo resolver, intento montar un formulario desde una base de datos, puede traer checkbox y radios.
el problema principal es que cuando produsco un while de radios, estos quedan todos con distinto name, y permite la multiple eleccion como si fuera un checkbox, y encima no se pueden desseleccionar, como podria resolverlo?

les dejo el codigo aver si ayuda

Código:
$result = mysql_query("SELECT id_encuesta, id_item, leyenda, tipo_de_opcion, respuesta_requerida FROM items_encuesta WHERE id_encuesta = '$id_encuesta'", $link);

while ($row = mysql_fetch_row($result)){

echo "Pregunta Nº: ".$row[1].": ".$row[2]." <br>";
$id_item=strval($row[1]);
echo "<input type='checkbox' name='id_preg".$row[1]."' value=".$row[1]." checked hidden>";

if ($row[3]==1){

$consulta_item = mysql_query("SELECT id_encuesta, id_item, id_opcion, leyenda_opcion FROM opciones_item WHERE id_encuesta = '$id_encuesta' AND id_item = '$id_item'", $link);

while ($row_item = mysql_fetch_row($consulta_item)){

echo "<input type='checkbox' name='id_item".$row_item[1].$row_item[2]."' value='id_opcion elegida: ".$row_item[2]."'>".$row_item[3]."<br>";

}
}
else if($row[3]==2){

$consulta_item = mysql_query("SELECT id_encuesta, id_item, id_opcion, leyenda_opcion FROM opciones_item WHERE id_encuesta = '$id_encuesta' AND id_item = '$id_item'", $link);

while ($row_item = mysql_fetch_row($consulta_item)){

echo "<input type='radio' name='id_item".$row_item[1].$row_item[2]."' value='id_opcion elegida: ".$row_item[2]."'>".$row_item[3]."<br>";


}

}

}
echo  "<input type='submit' name='enviar'>";


?>
  #2 (permalink)  
Antiguo 08/08/2012, 17:10
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 12 años, 3 meses
Puntos: 60
Respuesta: Problema con RADIO y DB

name='id_item".$row_item[1].$row_item[2]."'

Si los valores de $row_item[1] y $row_item[2] son diferentes, tendrán diferentes nombres, por ende, funcionarán de manera independiente.
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #3 (permalink)  
Antiguo 08/08/2012, 17:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 17
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema con RADIO y DB

Cita:
Iniciado por Carloosolrac Ver Mensaje
name='id_item".$row_item[1].$row_item[2]."'

Si los valores de $row_item[1] y $row_item[2] son diferentes, tendrán diferentes nombres, por ende, funcionarán de manera independiente.
claro, para solucionarlo, deje el codigo asi:

Código:
$consulta_item = mysql_query("SELECT id_encuesta, id_item, id_opcion, leyenda_opcion FROM opciones_item WHERE id_encuesta = '$id_encuesta' AND id_item = '$id_item'", $link);


while ($row_item = mysql_fetch_row($consulta_item)){

echo "<input type='radio' name='id_item".$row_item[1]."' value='id_opcion elegida: ".$row_item[2]."'>".$row_item[3]."<br>";
asi funciona perfecto, pero a la hora de recuperar el formulario ya el name no sera el mismo para checkboxs y radios, y no recuperaria los datos de radios =/

Código:
if($id_p1==1){
echo "<br> aqui comienza la p1<br>";
echo "<br>".$_POST["id_item11"];
echo "<br>".$_POST["id_item12"];
echo "<br>".$_POST["id_item13"];
echo "<br>".$_POST["id_item14"];
asi recupero los checksbox, el 1 indica el nº de pregunta y el 1-2-3-4 la que selecciono.

Etiquetas: formulario, mysql, radio
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 14:43.