UPDATE o INSERT INTO en checkbox? UPDATE o INSERT INTO en checkbox?
UPDATE o INSERT INTO en checkbox?
Mostrando resultados del 1 al 9 de 9
  1. #1
    UPDATE o INSERT INTO en checkbox?
    Buenas tardes a todos.
    Estoy pensando y recontra pensando sobre como solucionar una duda que me surgió... el problema es sencillo, quiero que al ingresar a un panel administrativo allí se puedan seleccionar diferentes checkbox que actualicen el perfil de usuario.
    Pero ahora tengo una duda muy grande:

    Si ocupo INSERT INTO se me crea un nuevo ID de usuario y eso no es lo que quiero, lo que quiero es que se haga un update del usuario y que la casilla "especialidad" se complete.
    (el codigo con INSERT INTO es el siguiente):

    Código:
    <?php
    if(isset($_POST["insert"]))
    {
    	$conn = mysqli_connect("localhost", "root", "", "base_test");
    	$query = "INSERT INTO user(especialidad) VALUES ('".$_POST["insert"]."')";
    	$result = mysqli_query($conn, $query);
    	echo "Los datos se cargaron correctamente";
    }
    ?>
    Ahora bien, si ocupo el UPDATE tengo una duda enorme ya que lo puedo hacer y lo asigno desde el panel administrativo que vaya a un user id y desde ahí que salgan todos los checkbox, pero este no me updatea el campo "especialidad" porque (y quiero creer) que no le asigno un WHERE y que me diga un user ID:

    Código:
    <?php
    if(isset($_POST["insert"]))
    {
    	$conn = mysqli_connect("localhost", "root", "", "base_test");
    	$query = "UPDATE user(especialidad) VALUES ('".$_POST["insert"]."')";
    	$result = mysqli_query($conn, $query);
    	echo "Los datos se cargaron correctamente";
    }
    ?>
    Y aca mi duda, de ser ese el caso, ¿Como le asignaría el WHERE para el id del usuario?

    Desde ya, muchas gracias!-

    =============================

    Pido mil disculpas, esto iba a la sección php y por no prestar atención la publique en bases de datos.
    Última edición por feder1; 04-sep-2017 a las 13:59

  2. #2
    Registro
    11-marzo-2013
    Ubicación
    Mexico
    Mensajes
    653
    Hola

    Tienes que enviar de alguna forma el ID del usuario al cual vas a hacer el update, sino te lo va hacer en toda la base de datos.

    Puedes ponerlos en un campo hidden y enviarlo en la misma form.

    Saludos
    Citar Citar  

  3. #3
    pasa los ids a través de un array en los checkboxes y con eso solucionas el problema
    Citar Citar  

  4. #4
    Que tal, para hacerlo mas facil y no tener dolores de cabeza decidí ejecutar todo dentro de un mismo PHP.
    Pero vuelvo al mismo problema... si lo hago con INSERT INTO me crea una tabla nueva de usuario cosa que no quiero, pero si lo cambio a UPDATE no me updatea el campo especifico de la tabla.
    Citar Citar  

  5. #5
    Lo tienes que hacer con update no con insert, y si no me equivoco tienes que usar "SET". Desde luego que el "ID" que comenta nestornoe también tienes que ponerlo en el WHERE

    Código:
    UPDATE table_mane 
    SET column1=value, column2=value2,...
    WHERE some_column=some_value
    Última edición por sevilla666; 05-sep-2017 a las 09:52
    Citar Citar  

  6. #6
    Cita Iniciado por sevilla666 Ver Mensaje
    Lo tienes que hacer con update no con insert, y si no me equivoco tienes que usar "SET". Desde luego que el "ID" que comenta nestornoe también tienes que ponerlo en el WHERE

    Código:
    UPDATE table_mane 
    SET column1=value, column2=value2,...
    WHERE some_column=some_value
    Muchas gracias, ya lo pude solventar... cometía un error tonto que me hiciste dar cuenta jaja.
    Seguí tus pasos y los de nestornoe y pude llegar al resultado.
    Mil gracias!.

    Código:
    mysql_query("update usuario set especialidad='$datos' where id='".$_GET['id']."'");
    Citar Citar  

  7. #7
    Cita Iniciado por feder1 Ver Mensaje
    Muchas gracias, ya lo pude solventar... cometía un error tonto que me hiciste dar cuenta jaja.
    Seguí tus pasos y los de nestornoe y pude llegar al resultado.
    Mil gracias!.

    Código:
    mysql_query("update usuario set especialidad='$datos' where id='".$_GET['id']."'");
    Parece que estás pasando el parámetro id tal cual lo envía el usuario, puedes forzarlo a ser un número así para evitar una vulnerabilidad SQLi:
    Código PHP:
    mysql_query("update usuario set especialidad='$datos' where id='".(int)$_GET['id']."'"); 
    Depende de como estés tomando la variable datos tambien necesitarías escaparla, aquí está más explicado: http://forobeta.com/php/531337-prote...ml#post4360187

    Saludos
    Citar Citar  

  8. #8
    Registro
    31-agosto-2013
    Ubicación
    Venezuela, Caracas
    Edad
    24
    Mensajes
    97
    Amigo, si puedes en un futuro trata de aprender un poco de la estructura MVC, y encontrarás herramientas que te ayudarán o te facilitarán estos paradigmas. Saludos!
    Citar Citar  

  9. Tienes que enviar el ID del usuario al cual vas a hacer el update, sino te lo va hacer en toda la base de datos.
    Citar Citar  

Temas similares

  1. AYUDA con Checkbox
    Hola, quisiera a ver si me podeis ayudar, quiero que cuando se active el Checkbox, se ejecute una funcion(). gracias de antemano, y espero que me...
    Respuestas: 1
    Último mensaje: 13-ago-2016
  2. Leer checkbox con php
    Hola muy buenas, Estoy haciendo un formulario en HTML y con PHP y teng problema a la hora de leer las opciones de unos checkbox. Os dejo el código...
    Respuestas: 5
    Último mensaje: 11-dic-2015
  3. Activar checkbox
    hola con el siguiente codigo, me lista todas las categorias en checkboxs desactivados pero tambien quiero que aparesca activado el check segun el...
    Respuestas: 5
    Último mensaje: 13-nov-2015
  4. INSERT TO con varios SELECT
    Buenas a todos, Quiero insertar en una tabla varios registros de varias tablas. Necesito ingresar los datos de T1 y T2 en T3 T1 -id...
    Respuestas: 5
    Último mensaje: 12-may-2015
  5. CheckBox en Formulario.
    Buenas forobetas. Quería preguntaros a ver si me podéis ayudar porque llevo unos cuantos días con un problemilla y no lo encuentro por ningun...
    Respuestas: 0
    Último mensaje: 13-oct-2012

Normas de publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •