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>

1voto

MitsuGami comentado

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

0voto

chester comentado

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

1voto

MitsuGami comentado

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.

1voto

chester comentado

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

0voto

Peter comentado

@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.

1voto

MitsuGami comentado

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.

Otras Preguntas y Respuestas


...

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

Conecta