Foros del Web » Programando para Internet » PHP »

Llenar tabla a partir de multiple selección con Check

Estas en el tema de Llenar tabla a partir de multiple selección con Check en el foro de PHP en Foros del Web. Hola a todos.. soy nuevo en el foro y muy nuevo en el tema de PHP y Msql, quizas esta pregunta sea muy sencilla pero ...
  #1 (permalink)  
Antiguo 24/09/2011, 07:19
Avatar de edilbertojara  
Fecha de Ingreso: marzo-2009
Mensajes: 22
Antigüedad: 15 años, 1 mes
Puntos: 0
Llenar tabla a partir de multiple selección con Check

Hola a todos.. soy nuevo en el foro y muy nuevo en el tema de PHP y Msql, quizas esta pregunta sea muy sencilla pero no se como resolverla:

En mi BD tengo dos tablas, una se llama Software y la otra Borrar(este es un nombre de prueba)... entonces, lo que necesito hacer es:

Hacer un Array de los datos contenidos en la tabla Software y que me los muestre en una pagina web con checkbox para poder seleccionarlos y luego enviar esos datos y llenar la tabla Borrar con esos datos o nombres de software seleccionados.

... el Array que me lee los datos contenidos en la tabla Software ya lo hice y me esta funcionando bien, el codigo que utilice es este:

<?PHP $rst_software = mysql_query("SELECT * FROM software ");
while ($row = mysql_fetch_row($rst_software)) {
for ($i=1;$i<=1;$i++) {
echo "<input type='checkbox' name='nombre_del_software' value='$row[$i]'/> ".$row[$i]."<br>";
}
}?>

... la ayuda que necesito, por favor, es que expliquen claramente como se hace el PHP para Insertar esos multiples datos (nombres de software) seleccionados, dentro de la tabla Borrar en un campo que se llama borrar.

He leido temas relacionados con este, pero no entiendo como aplicarlos puntualmente a lo que necesito. Les agradecería que la explicación me la dieran sobre el código que estoy trabajando. Muchas Gracias
  #2 (permalink)  
Antiguo 24/09/2011, 08:46
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Llenar tabla a partir de multiple selección con Check

Lo primero sería setear los nombres de los campos como un array para que PHP tome los diferentes valores, es decir, hacer:
<input type="checkbox" name="nombre_software[]" value="" />

Ahora en tu script que procesará ese formulario solo basta con iterar como si fuera un array comun y corriente e insertar los datos:
Código PHP:
Ver original
  1. foreach($_POST['nombre_software'] as $software) {
  2.   //mysql_query("INSERT INTO BORRAR (borrar) VALUES('$software')");
  3. }
Realiza las pruebas correspondientes y dime como te fue.
  #3 (permalink)  
Antiguo 24/09/2011, 18:36
Avatar de edilbertojara  
Fecha de Ingreso: marzo-2009
Mensajes: 22
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Llenar tabla a partir de multiple selección con Check

Ronruby, muchas gracias... ya me funciona el código!!!!... ahora si, el usuario puede seleccionar varios items y al enviarlos, se llena una tabla dentro de la BD... Voy a compartir el código para con todos Uds. Nuevamente muchas gracias Ronruby.

Primero que todo dentro de una BD tengo dos tablas con el siguiente formato:

Nombre de Tabla: software
campos de la Tabla: id_software, nombre_del_software

Nombre de Tabla: borrar (nombre temporal para el ejemplo)
campos de la Tabla: id_borrar, borrar

Entonces tenemos dentro de un PHP un formulario con ChecksBoxsque me permiten seleccionar varios items (que a su vez se estan leyendo de una BD) y luego de seleccionarlos el usuario puede enviarlos a una BD para recoger esa informacion.

Con la ayuda de Ronruby, el código PHP donde se encuentran los ChecksBoxs quedó así:

<?PHP $rst_software = mysql_query("SELECT * FROM software ");
while ($row = mysql_fetch_row($rst_software)) {
for ($i=1;$i<=1;$i++) {
echo "<input type='checkbox' name='nombre_del_software[]' value='$row[$i]'/>".$row[$i]."<br>";
}
}?>


y en el PHP que envia los datos seleccionados a la Tabla Borrar de la BD, el codigo quedó así:

<?php
if ($_POST["nombre_del_software"]=="")
{
echo "Por favor seleccione los softwares que mas le interesan.";
exit();
}
include ("conexion.php");
foreach($_POST['nombre_del_software'] as $software) {
mysql_query("INSERT INTO BORRAR (borrar) VALUES('$software')");
}
?>

Espero que este código le sirva a alguien mas, así como me sirvió a mi. Quede muy agradecido con toda la ayuda Ronruby.

Etiquetas: mysql, sql, tabla, checked
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 07:43.