entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

como jalar registros de una tabla y moverlos a otra en mysql con un checkbox

estoy jalando datos de una tabla en mysql los cuales son nombre, apellidos, estado civil requiero seleccionar unos registros con un checkbox y regresar solo los registros seleccionados a mysql pero en una nueva tabla

estoy intentando hacer el proceso con un vector en html pero no me funciona este es el codigo

<?php

   $server = "localhost";
     $usuario= "root";
      $contra = "";
       $base  = "prueba";

    $Con = mysql_connect($server, $usuario, $contra,$base) or die("no se puede conectar con la base de datos");

    mysql_select_db($base,$Con) or die (" no se encontro la base de datos");
$data =  "SELECT * FROM prueba ";

if(isset($_POST['Bok'])){

    foreach($_POST['usuario'] as $id){
        $valor = $data[$id];
        print("Se seleccionó el usaurio $valor ($id)<br >");
    }
}

?>
<hr >
<form action="" method="post" id="ff">
<?php
    foreach($data as $k => $v){
?>
    <label> 
        <input type="checkbox" name="usuario[]" value="<?=$k?>" > <?=$v?> <br >
    </label>
<?php   
    } // foreach
?>
    <input type="submit" value="Enviar" name="Bok" >
</form>

MitsuGami comentado Nov 30, 2015

¿Cuál es el objetivo de if(isset($_POST['Bok']))?

chester comentado Nov 30, 2015

lo utilizaba para el registo para cuando se presiona el boton de enviar pero no tiene importancia esa parte de codigo

MitsuGami comentado Nov 30, 2015

El problema con esa línea es que si nunca se ha guardado en POST el índice Bok nunca se ejecutará el foreach que hay dentro.

Otra cosa, ¿por qué usas un formulario y no una tabla? Digo, la query SELECT * FROM prueba indica que vas a traer muchos registros. En este caso conviene listar los registros en una tabla y que cada fila tenga en una columna un checkbox para marcarse. Si lo haces así, sería mucho mejor si envías las filas seleccionadas usando AJAX.

chester comentado Nov 30, 2015

entiendo, existe alguna manera de hacer lo que quiero de una forma mas facil?

Peter comentado Dic 1, 2015

@chester muevo tus respuestas a comentarios. Por favor publícalos como tal para que el usuario en cuestión sea notificado, si los pones como respuesta (que no lo son), solo tu eres notificado.

Saludos.

MitsuGami comentado Dic 1, 2015

No tienes muchas alternativas la verdad. Esa query te va a traer muchos registros y es mejor que sean mostradas en una tabla, inclusive, si son por ejemplo 500 registros deberán ser paginados.

¿Quizás tu idea en esa consulta es solo traer un registro? En ese caso deberías usar un where y sí es factible lo que deseas ya que solo habrá 3 grupos (label + checkbox + input con el valor actual) para cada columna traída.

1 Respuesta

1voto

dimcraft Puntos440

prueba cambiando $_POST['Bok'] por $_POST['usuario'], imagino que fue un error de tipeo.

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta