Foros del Web » Programando para Internet » PHP »

problema de insert?

Estas en el tema de problema de insert? en el foro de PHP en Foros del Web. Hola a todos, otra vez aqui pidiendo ayuda...tengo una base de datos con: nombre, 6 checkbox con value "SI" "NO", una campo "notas". Los campos ...
  #1 (permalink)  
Antiguo 20/03/2011, 21:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 6 meses
Puntos: 1
problema de insert?

Hola a todos, otra vez aqui pidiendo ayuda...tengo una base de datos con:
nombre, 6 checkbox con value "SI" "NO", una campo "notas".
Los campos son casi llenos de informaciones (id,nombre).
Ahora tengo que insertar, tramite un formulario, los valores de los checkbox (SI NO) y los valores de las notas (4.5). Cuando inserto los valores se añaden al final de la tabla; yo queria que se insertaran al lado del nombre que elegì en el formulario.
Puede ser algo como "insert where"?Es que estoy trabajando desde hace rato y no consiguo. Ademas no se como hacer que los checkbox me inserten valores diferentes que 1 (SI NO). Alguien tiene la paciencia de ayudarme?

Gracias de antemano

Saludos
  #2 (permalink)  
Antiguo 20/03/2011, 22:51
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: problema de insert?

supongo que deseas algo como:
Código PHP:
Ver original
  1. $valor1=$_POST['checkbox1']
  2. if($valor1=='SI')
  3.   $valor_para_almacenar='Mi Valor deseado';
  4. else
  5.   $valor_para_almacenar='Otro Valor deseado';

espero haber entendido bien la pregunta
__________________
- - - - - - - - -
  #3 (permalink)  
Antiguo 20/03/2011, 23:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: problema de insert?

Hola mashter, gracias por la respuesta.
Con tu consejo conseguì a insertar los datos; aqui hay lo script:

/////////////////////////////////////////////////////////////

$nota3 = $_POST['nota3'];
$checkbox = $_POST['checkbox'];

if( $checkbox == "1" ) {
$checkbox = "SI";
} else {
$checkbox = "NO";
}
$sql = "UPDATE PRIMERO_AA_espanol SET checkbox='$checkbox', nota3='$nota3' WHERE id='1'";
$result = mysql_query($sql);

////////////////////////////////////////////////////////////

Ahora tengo otro problema...segundo la evaluacion que pongo en el campo "notas" tiene que insertarme en otro campo llamado "valoracion" los siguentes resultados:

Si es 0 hasta 2.9 tiene que insertar =bajo
Si es 3.0 hasta 3.6 tiene que insertar=basico
Si es 3.7 hasta 4.3 tiene que insertar=alto
Si es 4.4 hasta 5.0 tiene que insertar =superior

Pienso que sea una cosa bastante simple, el problema es que necesito una guia para resolver este problema.

Cualquier persona que pueda ayudarme la agradesco de antemano
  #4 (permalink)  
Antiguo 21/03/2011, 02:27
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: problema de insert?

al igual como lo hiciste en checkbox lo haria ahi

Código PHP:
Ver original
  1. <?php
  2. if($notas <= 2.9){
  3.     $valor = "Bajo";
  4. }elseif($notas <= 3.6){
  5.     $valor = "Basico";
  6. }elseif($notas <= 4.3){
  7.     $valor = "Alto";
  8. }elseif($notas <= 5.0){
  9.     $valor = "Superior";
  10. }
  11. ?>
  #5 (permalink)  
Antiguo 21/03/2011, 02:27
 
Fecha de Ingreso: febrero-2008
Ubicación: Sevilla
Mensajes: 91
Antigüedad: 16 años, 2 meses
Puntos: 15
Respuesta: problema de insert?

Tienes varias formas de hacerlo.

Si cada vez que haces un insert nuevo tiene que tener de forma obligada el campo nota (Not Null), puedes hacer un trigger en la bd que despues de cada insert te lea el valor :new de nota y segun el valor te haga un update del campo valoracion y te ponga lo que tu quieres, o bien completar el insert si lo prefieres con un trigger instead of.

Si la nota la pones despues de insertar el registro en la bd, tal y como veo que lo haces a traves del update, pues simplemente desde php puedes una comprobacion de la nota del formulario y poner en el update el campo valoracion con el valor que quieras segun la nota.

Ejemplo:

Código PHP:
if($nota3<3){
$valoracion="bajo";
}
if(
$nota3>=&& $nota<3.7){
$valoracion="basico";
}
if(
$nota3>3.7 && $nota<4.4){
$valoracion="alto";
}
if(
$nota3>=4.4){
$valoracion="superior";
}

$sql "UPDATE PRIMERO_AA_espanol SET checkbox='$checkbox', nota3='$nota3', valoracion = '$valoracion' WHERE id='1'";
$result mysql_query($sql); 
Un saludo!
  #6 (permalink)  
Antiguo 21/03/2011, 09:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: problema de insert?

Hola, gracias caballeros, los dos han sido utiles para resolver mi problema.
Casi estaba lograndolo con este codigo:

////////////////////////////////////////////

if($nota3 <= 2.9 ):
echo "bajo";
elseif($nota3 <= 3.6 ):
echo "Basico";
elseif($nota3 <= 4.3):
echo "Alto";
elseif($nota3 <= 5.0):
echo "Superior";
endif;

/////////////////////////////////////////////

lo que erraba era el destino...pero todo bien.

Por el trigger, javiDP, pedì los superprivilegios al administrador del server, me gustaria aprender este metodo, lo encuentro bueno, gracias a todos y hasta la proxima

Etiquetas: insert
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 05:25.