Foros del Web » Programando para Internet » PHP »

radiobutton

Estas en el tema de radiobutton en el foro de PHP en Foros del Web. hola compañeros. Tengo un formulario con varias preguntas y cada una tiene dos radiobutton uno que evalua "SI" y otro "NO", el problema es que ...
  #1 (permalink)  
Antiguo 19/08/2009, 09:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
radiobutton

hola compañeros.

Tengo un formulario con varias preguntas y cada una tiene dos radiobutton uno que evalua "SI" y otro "NO", el problema es que chequeo el radiobutton y no toma ningun valor al insertar a la base de datos:
Código PHP:
Si <input type="radio" name="p4_1" value="si"<? if($p4_1=='si') echo " checked"?>>
No <input type="radio" name="p4_1" value="no"<? if($p4_1=='no') echo " checked"?>>
le he puesto doble comilla a la condicion y tampoco; espero alguien me pueda echar una manito, gracias
  #2 (permalink)  
Antiguo 19/08/2009, 09:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: radiobutton

Haz un var_dump($_POST) para que veas las variables que se envian del formulario, así puedes ver si trae o no valores y que valor trae.

Saludos.
  #3 (permalink)  
Antiguo 19/08/2009, 09:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

que tienes declarado en la variable $p4_1
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 19/08/2009, 10:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

Cita:
Iniciado por GatorV Ver Mensaje
Haz un var_dump($_POST) para que veas las variables que se envian del formulario, así puedes ver si trae o no valores y que valor trae.

Saludos.
si me esta dando esto:

["p4_1"]=>
string(2) "si"

entonces que puede ser.
saludos.
  #5 (permalink)  
Antiguo 19/08/2009, 10:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Porque entonces tienes declarado $p4_1. ¿Estas usando extract arriba? Si vas a verificar algun valor ya seleccionado por el usaurio en vez de usar $p4_1 debes usar $_POST["p4_1"]
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 19/08/2009, 10:52
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

gracias abimaelrc por tu interes.

lo hice tambien con $_post y sigue igual

Código PHP:
 Si<input type="radio" name="p4_1" value="si"<? if($_POST['p4_1']=='si') echo " checked"?>>
 No       <input type="radio" name="p4_1" value="no"<? if($_POST['p4_1']=='no') echo " checked"?>>
no me devuelve nada a la tabla.
lo que necesito es que me devuelva Si si fue chequeado en el value Si y No lo contrario; y en la tabla me salga en la variable p4_1, el valor chequeado
saludos.

Última edición por mindoata; 19/08/2009 a las 10:58
  #7 (permalink)  
Antiguo 19/08/2009, 10:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Ok pero lo que estas haciendo es coger el dato de $_POST que anteriormente debes haber enviado. Si lo que quieres es obtener el dato de una tabla en la base de datos tiene que ser de otra forma. Por eso te sugiero que escribas todo lo que has hecho en esta tabla para poder indicarte.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 19/08/2009, 11:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

ok abimaelrc, este es el codigo:

ficha_cliente.php:
Código PHP:
<form action="ficha_cliente_graba.php" method="post" name="form2" onSubmit="MM_validateForm('email','','NisEmail');return document.MM_returnValue">
<p align="center"> 
  <input type="submit" name="Submit" value="GRABAR" class="estilo">
  <input type="submit" name="Submit3" value="INSERTAR" onClick="this.form.nuevo.value=1" class="estilo">
  <input type="submit" name="Submit33" value="VOLVER" onClick="this.form.nuevo.value=2"  class="estilo">
</p>
<table width="947" border="0" align="center">
   <tr>
      <td><font size="2" face="Geneva, Arial, Helvetica, sans-serif">&nbsp;Es usted usuario del Grupo editorial SM: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Si 
          <input type="radio" name="p4_1" value="si"<? if($p4_1=='si') echo " checked"?>>
          &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;No 
          <input type="radio" name="p4_1" value="no"<? if($p4_1=='no') echo " checked"?>>
          &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Otro &nbsp;&iquest;Cual? 
          <input name="p4_1_cual" type="text" class="estilo" id="p4_1_cual" value="<? echo $p4_1_cual ?>">
        </font></td>
    </tr>
  </table>

</form>
ficha_cliente_graba.php:
Código PHP:
<?  include('./enca.inc.php');

    
$p4_1 $_POST['p4_1'];
if(
$grab==1)
    {
    if(
$id=="")
        {


$insert="INSERT INTO FICHA_CLIENTE (
p4_1)
VALUES (
'$p4_1')"
;
}
}
?>
La idea es que en la base de datos en la variable p4_1 obtenga el valor chequeado
  #9 (permalink)  
Antiguo 19/08/2009, 11:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Anteriormente en el archivo ficha_cliente.php. ¿haz hecho alguna consulta en la base de datos y le asignaste a la variable $p4_1 el valor que había seleccionado?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 19/08/2009 a las 11:16 Razón: .
  #10 (permalink)  
Antiguo 19/08/2009, 12:07
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

si abimaelrc esta consulta es la que tengo antes del form:
Código PHP:
<?
IF($id<>"")
    {
    
 
$query2"SELECT id    ,
p4_1
FROM FICHA_CLIENTE
WHERE ID='$id'  LIMIT 0,1"
;
$query2=strtoupper($query2);

//ECHO $query2;
$mysql_result2mysql_query($query2,$mysql_link);
while (
$datos2mysql_fetch_row($mysql_result2))
    {
$id    =$datos2[0];
$p4_1     =$datos2[22];
}
}
?>
  #11 (permalink)  
Antiguo 19/08/2009, 12:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Primero corrige el if
Código php:
Ver original
  1. if(!empty($id))

Segundo no necesitas usar un while porque estas trayendo solo una sola fila por lo tanto hazlo de esta forma
Código php:
Ver original
  1. $mysql_result2= mysql_query($query2,$mysql_link) or die(mysql_error());
  2. $datos2= mysql_fetch_row($mysql_result2);
  3. $id=$datos2[0];
  4. $p4_1=$datos2[22];

Luego haz esto a ver si te sale informacion despues del if(){....} haz esto
Código php:
Ver original
  1. if(...){
  2. ....
  3. $id=$datos2[0];
  4. $p4_1=$datos2[22];
  5. }
  6. var_dump($id);
  7. var_dump($p4_1);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 19/08/2009, 12:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

abimaelrc si sale la informacion.
sale esto: string(2) "SI"

si la obtiene en el post, pero no la inserta en la tabla, que pueder ser.
  #13 (permalink)  
Antiguo 19/08/2009, 12:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Fijate la comparacion y fijate como te brinda los datos

string(2) "SI"
$p4_1=='si'

La compraacion tu la creaste en letras minusculas mientras que el dato llega con letras mayusculas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 19/08/2009, 12:34
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
porque la crea en mayuscula, si yo en el value y en la comparacion la pongo en minuscula.

voy a ponerla todas mayusculas haber si funciona, en un momento te contesto.

saludos

abimaelrc muchas gracias socio, era como tu decias tenia que ponerla en mayuscula, que pena molestarte tanto por esa bobada, pero se te agradezco mucho.

muchas gracias compañero

Última edición por GatorV; 19/08/2009 a las 12:47
  #15 (permalink)  
Antiguo 19/08/2009, 12:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: radiobutton

Te sugiero que verifiques esta linea

$query2=strtoupper($query2);

Tengo dudas de si eso lo que te esta trayendo los datos en mayuscula, porque lo unico que haces con eso es escribir el string que estas declarando en mayuscula no el valor de la base de datos, pero verifica porque estas indicando que coloque en letra mayuscula el $query2.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 19/08/2009, 12:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: radiobutton

a listo gracias, lo verificare, gracias por tener paciencia y ayudarme
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 10:33.