Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Estas en el tema de Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD en el foro de PHP en Foros del Web. Hola, De antemano, os agradezco toda la ayuda que me podáis dar. Ahora nos expongo mi problema: Antes de nada deciros que no soy muy ...
  #1 (permalink)  
Antiguo 01/09/2015, 08:54
 
Fecha de Ingreso: agosto-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Hola,

De antemano, os agradezco toda la ayuda que me podáis dar.

Ahora nos expongo mi problema:
Antes de nada deciros que no soy muy experto en esto del desarrollo web.
El problema que tengo es que no sé como extraer los datos de las filas que estén marcadas con un checkbox para posteriormente introducir esos datos en un bbdd.

Es decir, tengo mi tabla:
<table>
<tr><td>Nombre</td><td>Apellido</td><td>Add</td></tr>
<tr><td>Pepe</td><td>Díaz</td><td><input type="checkbox" name="Add" value="add"></td></tr>
<tr><td>Jose</td><td>Garcia</td><td><input type="checkbox" name="Add" value="add"></td></tr>
<tr><td>Alicia</td><td>Moreno</td><td><input type="checkbox" name="Add" value="add"></td></tr>
</table>

Y marco en el checkbox, aquellos nombres que quiera añadir a una tabla en bbdd.
Aquí es cuando me pierdo. Mi primera idea fue meter toda la tabla dentro de un formulario para una vez que pulse el botón, llamar al script php que introducirá los datos en la bbdd, pero antes, ¿como puedo obtener todos los datos marcados con el checkbox? ¿esta idea es buena? ¿podéis echarme un cable?

Saludos
  #2 (permalink)  
Antiguo 01/09/2015, 09:25
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años
Puntos: 8
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Desconozco que se pueda hacer con php puro a menos que dentro del atributo value del checkbox coloques toda la información que deseas mandar de la fila, usarías un delimitador para separar un dato del otro.

Código PHP:
Ver original
  1. if(isset($_POST['btnEnviar'])){
  2.   $checks=$_POST['Add'];
  3.   if(count($checks)>0){//SI HAY CHECKS MARCADOS
  4.       foreach($checks as $val){
  5.           $aDatos=split("[,]",$val);
  6.           $nombre=$aDatos[0];$apellido=$aDatos[1];
  7.           //echo $nombre." ".$apellido."<br>";
  8.           //AQUI PONES TU INSERT A LA TABLA RESPECTIVA DE TU B.D.
  9.       }
  10.   }
  11. }
  12. echo "
  13. <form method='post' action=''>
  14. <table>
  15. <tr><td>Nombre</td><td>Apellido</td><td>Add</td></tr>
  16. <tr><td>Pepe</td><td>Díaz</td><td><input type='checkbox' name='Add[]' value='PEPE,DIAZ'></td></tr>
  17. <tr><td>Jose</td><td>Garcia</td><td><input type='checkbox' name='Add[]' value='JOSE,GARCIA'></td></tr>
  18. <tr><td>Alicia</td><td>Moreno</td><td><input type='checkbox' name='Add[]' value='ALICIA,MORENO'></td></tr>
  19. </table>
  20. <br><input type='submit' name='btnEnviar' value='ENVIAR'/>
  21. </form>";
  22. ?>
  #3 (permalink)  
Antiguo 01/09/2015, 09:41
Avatar de bymorr  
Fecha de Ingreso: septiembre-2012
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 9
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Se me ocurre.
1.-Según tu lógica, me parecería correcto guardar los nombres en una Tabla BD el cual queda asignado con un ID.
2.-Posterior a ello en el value en el momento de seleccionar dejaría relacionado el ID.
3.-Ese id es el que se inserta a la BD.
4.-Después cuando desees extraer uno nombre consultas el ID que ingresaste a la BD en la tabla de nombres (o lo que desees almacenar).
5.-Incluso después puedes generar los checkbox, con los campos que están en la tabla de nombres.

No se como estarás trabajando cualquier cosa posteas.
  #4 (permalink)  
Antiguo 01/09/2015, 14:07
 
Fecha de Ingreso: agosto-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Hola buenas,
Poco a poco me va quedando claro la forma de hacerlo. Creo que la mejor idea, basándome en mis conocimientos, va a ser poner toda la información en el atributo value del checkbox.

Pero me surge una duda, si marco varios nombres, es decir, varios checkbox, haciendo $checks = $_POST['Add'] coge todos los checkbox marcados?

Un saludo y gracias por la ayuda!
  #5 (permalink)  
Antiguo 01/09/2015, 15:18
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años
Puntos: 8
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Cita:
Iniciado por sfaceradiaz Ver Mensaje
Hola buenas,
Poco a poco me va quedando claro la forma de hacerlo. Creo que la mejor idea, basándome en mis conocimientos, va a ser poner toda la información en el atributo value del checkbox.

Pero me surge una duda, si marco varios nombres, es decir, varios checkbox, haciendo $checks = $_POST['Add'] coge todos los checkbox marcados?

Un saludo y gracias por la ayuda!
Sí, si los coge, hice la prueba.
Más bien, cada vez que quieras agregar nuevos registros tendrías que cambiar manualmente los datos de tu tabla y eso no se ve bien.
Pero a tu consulta esta sería la solución
  #6 (permalink)  
Antiguo 01/09/2015, 16:28
 
Fecha de Ingreso: agosto-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Ok! Pero...no he entendido lo de que cada vez que añada nuevos registros tendré que hacerlo manualmente. La tabla de la que cojo los datos la genero con PHP haciendo una consulta a una bbdd. Es decir, muestro todos los usuarios que hay y sólo selecciono los que me interesan.

Saludos.
  #7 (permalink)  
Antiguo 01/09/2015, 17:47
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años
Puntos: 8
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

A no, entonces no hay problema, pensé que los datos de tu tabla html eran estáticos, pero si son datos que sacas de una base de datos no hay problema.
  #8 (permalink)  
Antiguo 02/09/2015, 04:32
 
Fecha de Ingreso: agosto-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Hola,

He probado lo que me comentabas y me da este error:

( ! ) Warning: Invalid argument supplied for foreach() in C:\wamp\www\_test\add.php3 on line 12
Call Stack
# Time Memory Function Location
1 0.0000 249256 {main}( ) ..\add.php3:0
INSERT INTO library VALUES Error: INSERT INTO library VALUES
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 12

Al estar mal el foreach, la query sale mal.

Te pego el código:
foreach($checks as $val) -----> line 12
{
$aDatos = split("[|]",$val);
$nombre = $aDatos[0];
$apellido = $aDatos[1];
if($insertData == "") //Primera vez
{
$insertData = "('".$nombre."','".$apellido."')";
}
else //Demás veces
{
$insertData = $insertData.",('".$nombre."','".$apellido."')";
}
}

es que parece que lo que coge con $checks = $_POST['Add']; no es un array
  #9 (permalink)  
Antiguo 02/09/2015, 04:53
 
Fecha de Ingreso: agosto-2012
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Obtener datos celdas marcadas con checkbox e insertarlas en una BBDD

Ya lo he solucionado, había pasado por alto este atributo:

name='Add[]' , lo tenía puesto así: name='Add'

Ahora ya va como la seda.

Muchas gracias!

Etiquetas: html+javascript
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 09:38.