Foros del Web » Programando para Internet » PHP »

Insertar en Bd Checkbox y Radios

Estas en el tema de Insertar en Bd Checkbox y Radios en el foro de PHP en Foros del Web. hola como dice mi titulo, como se puede insertar en una base de datos la opcion que el usario elija como por ejemplo en mi ...
  #1 (permalink)  
Antiguo 09/02/2005, 08:42
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta Insertar en Bd Checkbox y Radios

hola como dice mi titulo, como se puede insertar en una base de datos la opcion que el usario elija como por ejemplo en mi formulario que esta aqui....

Código PHP:
<tr
      <
td><input type="checkbox" name="CHECK_FRANCES" value="CHECK_FRANCES">
        
Franc&eacute;s</td>
      <
td><input type="radio" name="FRANCES_BASICO" value="FRANCES_BASICO">
        
B&aacute;sico 
        
<input type="radio" name="FRANCES_MEDIO" value="FRANCES_MEDIO">
        
Medio 
        
<input type="radio" name="FRANCES_AVANZADO" value="FRANCES_AVANZADO">
        
Avanzado 
        
<input type="radio" name="FRANCES_NATIVO" value="FRANCES_NATIVO">
        
Nativo</td>
    </
tr
estan por el metodo $_POST, como los insertos en la base de datos si el compadre elije frances avanzado....?

de esta manera ingreso en mi bd
Código PHP:
<? 
$USERNAME 
$_POST['USERNAME'];
$NOMBRES $_POST['NOMBRE'];
$APELLIDOP $_POST['APELLIDOP'];
$APELLIDOM $_POST['APELLIDOM'];
$NACIONALIDAD $_POST['NACIONALIDAD'];
$RUT $_POST['RUT'];
$DV $_POST['DV'];
$TELEFONO $_POST['TELEFONO'];
$TELEFONOT $_POST['TELEFONOT'];
$EMAIL $_POST['EMAIL'];
$CELULAR $_POST['CELULAR'];

//Conexion con la base
$link mysql_connect("numero ip","nombre","pass");
mysql_select_db("base de datos");
//Ejecucion de la sentencia SQL

$sql "insert into usuario (USERNAME,NOMBRES,APELLIDOP,APELLIDOM,RUT,DV,NACIONALIDAD,TELEFONO,TELEFONOT,CELULAR,EMAILSEC)"."
values ('$USERNAME','$NOMBRES','$APELLIDOP','$APELLIDOM','$RUT','$DV','$NACIONALIDAD','$TELEFONO','$TELEFONOT','$CELULAR','$EMAIL')"
;
$result mysql_query($sql);

?>

Última edición por yokoshima; 09/02/2005 a las 09:00
  #2 (permalink)  
Antiguo 09/02/2005, 10:10
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 13 años
Puntos: 0
Hola acabo de ver tu codigo, ahora tengo una pregunta que hacerte en cual campo vas a guardar la información que elija el usuario.

Deberias tener 2 campos mas uno que sea Curso y el otro Tipo_Curso.

Asi puedes saber que curso das si es el INGLES, FRANCES, ALEMAN, ESPAÑOL, ETC.
y el tipo seria BASICO,AVANZADO, INTERMEDIO, BAJO.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #3 (permalink)  
Antiguo 09/02/2005, 10:22
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1
es que en la base de datos es en la tabla idioma, no en la usuario....

pero nose como llamarla.... tengo que tb con $_post llamandola del nombre.... y despues como inserto...

como seria el codigo de insertar...? ese es mi dilema....
  #4 (permalink)  
Antiguo 09/02/2005, 10:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 9 meses
Puntos: 771
Hola yokoshima

Yo también voy a hacerte una pregunta sobre tu formulario. Has puesto cuatro radio con un nombre distinto cada uno. Eso significa que el usuario podrá marcar todos los que quiera. Si lo que pretendes es que solo se pueda seleccionar uno tienes que poner el mismo nombre a todos:

<input type="radio" name="nivel"...
<input type="radio" name="nivel"...

Saludos,
  #5 (permalink)  
Antiguo 09/02/2005, 12:18
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1


toda la razon master.......

ahora lo probe y eleji todos........

de esta forma llamo a la variable:
Código PHP:
$FRANCES $_POST['FRANCES']; 
y en formulario seria:

Código PHP:
<input type="radio" name="FRANCES" value="FRANCES_BASICO">
<
input type="radio" name="FRANCES" value="FRANCES_MEDIO"

y la forma de insertar seria esta....?
Código PHP:

$sql
="insert into idioma(USERNAME,CODIDIOMA,IDIOMA,NIVEL)"."
values ('$USERNAME','$CODIDIOMA','$FRANCES','$NIVEL')"

el problema es que eso de debo indresar dentro de la tabla, pero solo rescato del formulario el username y el idioma....

Donde quedaria codidioma...?
Donde el Nivel.....?

seria loco que el usuario dicte el codidioma...


ok espero que alguien me ayude....
  #6 (permalink)  
Antiguo 09/02/2005, 13:07
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por yokoshima
Donde quedaria codidioma...?
Donde el Nivel.....?

seria loco que el usuario dicte el codidioma...
...
... creo tu problema no es en el insertar/guardar tus datos.. si no simple organización. Deberías pensar antes ben qué quieres hacer... qué necesitas y los caminos para conseguirlo... todo esto en papel.

... adivinaré: Supongo el codidioma () es algún dato que tienes guardado en otra base de datos. Tú puedes hacer una colsulta extrayendo dicha información dependiendo de los datos que recibas ¿quién te lo impide??? ó incluso puedes meterlo en tu mismo código a mano... ó podrías hasta generarlo... no sé!. ¿qué quieres hacer?, organizate. Insluso desde armar tu formulario inicial... Vaz a manejar varios idiomas con difentes niveles???... Quizá un select mostrando los idiomas disponibles y los mismos radios mostrando los niveles... si solo se seleccionaria un idioma. Quizá chechkbox para los idiomas y radios independientes para los niveles . Quizá y hasta puros chechkbox si el usuario puediera elegir Frances avanzado e intermedio... Sabiendo bien qué es lo que quieres podrás trabajar mejor... sabrás qué manejar... JavaScript para avilitar opciones dependiendo de otras por elemplo...

Per bueno, respondiendo concretamente a tus preguntas:
1) Dónde el códidioma?... lo dije, si tienes guardado ese dato puedes realizar la consulta... ó puedes especificarlo en tu mismo código. ej:
if(!emty($_POST['frances_avanzado'])) { $coddidioma = "fra_ava_0023"; } ó qué se yo!
2) Dónde el nivel?... no lo estás recogiendo de los radios??? Frances avanzado, medio.. etc.??... Como comentario.. no es necesario que manejes values tan largos... Por ejemplo: Tengo chechkbox para idiomas y radios para niveles. Mis values de mis chechkbox los llamos simplemente "frances", "inglés"... y los de mi radio "Avanzado, "medio".. así solo recojo los values de ambos y los combino si estásn seleccionados... "Frances medio", "Frances avanzado"... etc. . Incluso puedes manejar una simple letra "A", "M", guardarlo sen tu BD y al recogerlo procesarlo así IF($_result["nivel"]=="A") { echo "Avanzado"; }

... . Disculpa la extención... Suerte!!!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 09/02/2005, 13:48
 
Fecha de Ingreso: febrero-2005
Ubicación: chile, Santiasko
Mensajes: 728
Antigüedad: 12 años, 10 meses
Puntos: 1
ahhhhhhh

toda la razon.... el codidioma viene de otra base de datos... por ejemplo tiene para 4 idiomas:
ingles = 1 donde el numero es el codigo....
frances = 2
aleman = 3
español = 4

los otro de como ingreso el nivel, no me quedo muy claro.... mira aqui te mostrare el codigo completo del formulario (la parte de los idiomas)

Código PHP:
  <tr
      <
td><input type="checkbox" name="CHECK_INGLES" value="CHECK_INGLES">
        
Ingl&eacute;s</td>
      <
td><input type="radio" name="INGLES" value="INGLES_BASICO">
        
B&aacute;sico 
        
<input type="radio" name="INGLES" value="INGLES_MEDIO">
        
Medio 
        
<input type="radio" name="INGLES" value="INGLES_AVANZADO">
        
Avanzado 
        
<input type="radio" name="INGLES" value="INGLES_NATIVO">
        
Nativo</td>
    </
tr>
    <
tr
      <
td><input type="checkbox" name="CHECK_FRANCES" value="CHECK_FRANCES">
        
Franc&eacute;s</td>
      <
td><input type="radio" name="FRANCES" value="FRANCES_BASICO">
        
B&aacute;sico 
        
<input type="radio" name="FRANCES" value="FRANCES_MEDIO">
        
Medio 
        
<input type="radio" name="FRANCES" value="FRANCES_AVANZADO">
        
Avanzado 
        
<input type="radio" name="FRANCES" value="FRANCES_NATIVO">
        
Nativo</td>
    </
tr>
    <
tr
      <
td><input type="checkbox" name="CHECK_OTRO" value="CHECK_OTRO">
        
Otro
        
<input type="text" name="OTRO_ANTE"></td>
      <
td><input type="radio" name="OTRO" value="OTRO_BASICO">
        
B&aacute;sico 
        
<input type="radio" name="OTRO" value="OTRO_MEDIO">
        
Medio 
        
<input type="radio" name="OTRO" value="OTRO_AVANZADO">
        
Avanzado 
        
<input type="radio" name="OTRO" value="OTRO_NATIVO">
        
Nativo</td>
    </
tr
mi pregunta ahora ya mejor analizada... es como puedo saber o mejor con una comparacion si el usuario aprieta en el radio; ingles avanzado, frances basico y otro como chino nativo....

como hago la validacion para ingresar:
el codidioma....que esta en otra base de datos
y el nivel y el nombre.... en la base de datos....?

ahora si....
  #8 (permalink)  
Antiguo 09/02/2005, 14:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por yokoshima
mi pregunta ahora ya mejor analizada... es como puedo saber o mejor con una comparacion si el usuario aprieta en el radio; ingles avanzado, frances basico y otro como chino nativo....

como hago la validacion para ingresar:
el codidioma....que esta en otra base de datos
y el nivel y el nombre.... en la base de datos....?
Trabajando con lo que tienes (porque se puede mejorar):
- Tienes checkbox con radios asociados asia éllos... lo que debes hacer es:
1. Ver si en primera instancia se seleccionó un checkbox:
if(isset($_POST['CHECK_FRANCES'])) {... lo que quieres, incluso algo tipo $idioma=$_POST['CHECK_FRANCES'];

2. Si esta seleccionado debió de darle también a un radio, debemos leerlo. Creo tu intención es meramente guardar éste dato. -- Si no seleccionó el chechkbox simplemente ignoralo...
if(isset($_POST['FRANCES'])) {... lo mismo $var=($_POST['FRANCES'];

lo recoges por el nombre, su valor será el del radio seleccionado (Avanzado, Medio.. etc.. Una vez aquí puedes hacer con él lo que quieras, guardarlo, imprimirlo... ó utilizarlo para otra consulta.

La forma de utilizar el valor del radio para una consulta es como lo harias como cualquier otra:
$query="SELECT * FROM tabla WHERE idioma=''$var";
haces tu consulta, lo hasocias a un arreglo y después puedes hacer algo tipo:
$codidioma=$res['codidioma']; // donde el codidioma dentro de tu arreglo es la columna que contiene lo que buscas... supongo debes de saber cómo hacer busquedas.

¿Qué más?... Creo quedamos en las mismas ... Disculpa por no ser más claro, tengo que retirarme.
Antes... en el caso de tu campor de texto.. primero debes ver si el checkbox tiene un valor (esta seleccionado) pero sí se cumple la condición el valor que te intereza es el de la caja de Texto y es ese con el que trabajarás:
$idioma=$_POST['OTRO']; ...
Como dije antes, considero tu problema es más de organización por parte tuya que de código... intenta hacerlo funcionar así, pon el código con el que recojes tus valores, después de todo estamos hablando de eso.... y ya veremos tus errores ó podremos aconsejarte algo sobre eso.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 13/02/2005 a las 00:56
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.
Tema Cerrado

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 17:09.