Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] insertar en una tabla elementos seleccionado por checbox generados desde una consulta

Estas en el tema de insertar en una tabla elementos seleccionado por checbox generados desde una consulta en el foro de PHP en Foros del Web. Hola a todos bueno el problema que tengo es que necesito insertar en la tabla trndetalleordcompra unicamente lo elementos elegidos con un checkbox que se ...
  #1 (permalink)  
Antiguo 06/05/2013, 16:17
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
insertar en una tabla elementos seleccionado por checbox generados desde una consulta

Hola a todos bueno el problema que tengo es que necesito insertar en la tabla trndetalleordcompra unicamente lo elementos elegidos con un checkbox que se muestra en una tabla dinamica que se llena con una consulta a la tabla de cotizaciones. explico el funcionamiento.

el usuario elegira un numero de cotizacion, cuando el usuario elige ese numero de cotizacion, el combobox cargara los datos de la consulta en iframe, cargando el archivo concoti.php el cual contiene la tabla dinamica donde el usuario elegira lo materiales que desea agregar a la orden de compra en este caso a la tabla trndetalleordcompra

Última edición por JulioChilita; 06/05/2013 a las 16:44
  #2 (permalink)  
Antiguo 06/05/2013, 16:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Y como pretendes saber que checkbox es de que registro si no le das ningún valor, PHP no es adivino, debes pasarle algún valor para que puedas hacer las relaciones en tu base de datos...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 06/05/2013, 17:03
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

bueno dejame te muestro cuando yo creo los checkbox lo creo en bubcle do
Código PHP:
<?php do { ?>
    <tr>
      <td><?php echo $row_concoti['IDMATPRIMA']; ?></td>
      <td><?php echo $row_concoti['IDUNIDAD']; ?></td>
      <td><?php echo $row_concoti['CANTPRODUCTO']; ?></td>
      <td><input name="very[]" id="very[]" type="checkbox"  /></td>
      <td><?php echo $row_concoti['PRECIOUNITARIO']; ?></td>
    </tr>
    <?php } while ($row_concoti mysql_fetch_assoc($concoti)); ?>
</table>
donde los voy creanso segun yo como un array para poder identificarlo y la cantidad de checbox dependera de la cantidad de registros devueltos por la consulta y no quiero enviar a la base de datos el valor del checkbox si no el contenido de la consulta donde se encuentra el checkbox seleccionado
  #4 (permalink)  
Antiguo 06/05/2013, 17:06
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Cita:
donde los voy creanso segun yo como un array para poder identificarlo
¬¬ y donde ves que le asignas un valor (value) a dicho checkbox, en todo caso, no se enviará nada esten o no marcados porque no hay valor que enviar...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 06/05/2013, 17:11
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

ok, acabo de agregarle un valor
Código PHP:
<td><input name="very[]" id="very[]" type="checkbox" value="<?php echo $row_concoti['IDMATPRIMA']; ?>" /></td>
ahora como podria hacer para que me inserte todos los campo que contiene ese checkbox, perdona la molestia recien empiezo con esto de php y llevo ya rato leyendo el foro y no me habia percatado que no enviaba ningun valor al checkbox
  #6 (permalink)  
Antiguo 06/05/2013, 17:15
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Ahora la cosa cambia, en tu archivo que procesa tu formulario solo debes recuperar el array very[] y ver que ID fueron enviados, ya de aquí depende que es lo que vayas a hacer con dichos id's, si insertarlos en una tabla o yo que se, para leerlos solo es necesario de un bucle...

Código PHP:
Ver original
  1. <?php
  2. //verificamos que se marcara al menos 1 checkbox
  3. if (isset($_POST['very'])) {
  4.      foreach($_POST['very'] as $idMatPrima) {
  5.           echo '<p>ID de materia prima: '.$idMAtPrima.'</p>';
  6.      }
  7. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 06/05/2013, 17:31
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Nemutagk muchas gracias por tomarte el tiempo de ayudarme, de hecho lo que hare es guardar en la tabla trnordencompra no el valor del checkbox si no todos los campo que estan donde esta ese check seleccionado, agregue ese codigo al scrip al action del formulario, donde se supone que me imprimiria los valores de los check seleccionado pero no sale nada, creo que ahorita ese video que observa en tu blog es justo lo que quisieras hacer conimo me refiero al video de "Lo que pensamos al ver usar la computadora a alguien que no sabe…" agradezco tu tiempo
este es el codigo de mi script.php
Código PHP:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<?php 


//verificamos que se marcara al menos 1 checkbox

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

     foreach(
$_POST['very'] as $idMatPrima) {
          echo 
'<p>ID de materia prima: '.$idMAtPrima.'</p>';
     }

}
?>
</head>

<body>
</body>
</html>
  #8 (permalink)  
Antiguo 06/05/2013, 17:34
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Si lo estas enviando como post? borraste el código "completo" de tu primer post, por lo cual no recuerdo como estas generando el formulario, en todo caso deberías hacer un var_dump() y publicar el código completo del primer archivo (donde generas los checkbox)

Código PHP:
Ver original
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <title>Documento sin título</title>
  4. <?php  
  5.  
  6.  
  7. //verificamos que se marcara al menos 1 checkbox
  8.  
  9. echo '<pre>';
  10. var_dump($_POST);
  11. echo '</pre>';
  12.  
  13. if (isset($_POST['very'])) {
  14.  
  15.      foreach($_POST['very'] as $idMatPrima) {
  16.           echo '<p>ID de materia prima: '.$idMAtPrima.'</p>';
  17.      }
  18.  
  19. }?>
  20. </head>
  21.  
  22. <body>
  23. </body>
  24. </html>
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #9 (permalink)  
Antiguo 06/05/2013, 17:43
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

perdona si aca esta el form lo creo fuera del do
Código PHP:
  <?php do { ?>
    <tr>
      <td><?php echo $row_concoti['IDMATPRIMA']; ?></td>
      <td><?php echo $row_concoti['IDUNIDAD']; ?></td>
      <td><?php echo $row_concoti['CANTPRODUCTO']; ?></td>
      <td><input name="very[]" id="very[]" type="checkbox" value="<?php echo $row_concoti['IDMATPRIMA']; ?>" /></td>
      <td><?php echo $row_concoti['PRECIOUNITARIO']; ?></td>
    </tr>
    <?php } while ($row_concoti mysql_fetch_assoc($concoti)); ?>
</table>
<form id="form1" name="form1" method="post" action="script.php">
  <input type="submit" name="enviar" id="enviar" value="Enviar"  />
</form>

array(1) {
["enviar"]=>
string(6) "Enviar"
}

Última edición por JulioChilita; 06/05/2013 a las 18:10
  #10 (permalink)  
Antiguo 06/05/2013, 18:36
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Esta mal generado, tienes que meter todo dentro de los tag <form>, amigo, tienes problemas muy muy básicos, te recomiendo que antes de continuar leas bien un tutorial o manual de html, porque si sigues así solo te frustrarás...

Código PHP:
Ver original
  1. <form id="form1" name="form1" method="post" action="script.php">
  2. <table>
  3.  <?php do { ?>
  4.     <tr>
  5.       <td><?php echo $row_concoti['IDMATPRIMA']; ?></td>
  6.       <td><?php echo $row_concoti['IDUNIDAD']; ?></td>
  7.       <td><?php echo $row_concoti['CANTPRODUCTO']; ?></td>
  8.       <td><input name="very[]" id="very[]" type="checkbox" value="<?php echo $row_concoti['IDMATPRIMA']; ?>" /></td>
  9.       <td><?php echo $row_concoti['PRECIOUNITARIO']; ?></td>
  10.     </tr>
  11.     <?php } while ($row_concoti = mysql_fetch_assoc($concoti)); ?>
  12. </table>
  13.   <input type="submit" name="enviar" id="enviar" value="Enviar"  />
  14. </form>

PD No deberías usar do-while, es mejor usar while, el primero hace una pasada antes de ver si tiene items que mostrar, el segundo primero verifica si tiene elementos que mostrar antes de dar una pasada, por lo tanto, si no tienes registros que mostrar el primero (do-while) te generará un error...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #11 (permalink)  
Antiguo 06/05/2013, 19:07
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Exelente muchas gracias perdona mi ignorancia, prometo ponerme aumentar mis conocimiento, pero no pense poner el bulce dentro del form, bueno ya funciono!!! ahorita me pongo a ver como voy hacer el insert, muchas gracias si lo logro ya publicare el respo paralguien mas que pueda servirle, de nuevo gracias y si nolo logro te molesto d nuevo ...
  #12 (permalink)  
Antiguo 06/05/2013, 22:44
 
Fecha de Ingreso: mayo-2013
Ubicación: santa ana, metapan
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: insertar en una tabla elementos seleccionado por checbox generados desde u

Bueno para todos los que andan con este problema aca esta la solucion final, gracias a Nemutagk para el los creditos de la solucion a este problema.

aca esta la parte inicial donde se crea el formulario con el grid que contiene los datos
Código PHP:
<form id="form1" name="form1" method="post" action="script.php">
<table border="1" cellpadding="0" cellspacing="0">
  <tr>
      <td width="166">Numero Referencial</td>
    <td width="166">IDMATPRIMA</td>
    <td width="144">IDUNIDAD</td>
    <td width="195">CANTPRODUCTO</td>
    <td width="208">&nbsp;</td>
    <td width="208">PRECIOUNITARIO</td>
  </tr>
   <?php do { ?>
    <tr>
    <td><?php echo $row_concoti['IDDETALLE']; ?></td>
      <td><?php echo $row_concoti['IDMATPRIMA']; ?></td>
      <td><?php echo $row_concoti['IDUNIDAD']; ?></td>
      <td><?php echo $row_concoti['CANTPRODUCTO']; ?></td>
      <td><input name="very[]" id="very[]" type="checkbox" value="<?php echo $row_concoti['IDDETALLE']; ?>" /></td>
      <td><?php echo $row_concoti['PRECIOUNITARIO']; ?></td>
    </tr>
    <?php } while ($row_concoti mysql_fetch_assoc($concoti)); ?>
</table>

  <input type="submit" name="enviar" id="enviar" value="Enviar"  />
</form>
y aca esta el contenido del archivo invoacdo por el formulario

Código PHP:
<?php require_once('../../Connections/basepangloria.php'); 
mysql_select_db($database_basepangloria$basepangloria);
?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Documento sin título</title> 

<?php  
// consulto la el ultimo numero de orden emitida, en este caso el encabezado, y lo ordeno de forma desendente
$query_ulencado "SELECT IDORDEN FROM TRNENCAORDCOMPRA ORDER BY IDORDEN DESC";
$ulencado mysql_query($query_ulencado$basepangloria) or die(mysql_error());
$row_ulencado mysql_fetch_assoc($ulencado);
//verificamos que se marcara al menos 1 checkbox 
echo '<pre>';
echo 
'<p>Se guardaron los siguientes registros:</p>';
echo 
'<p>__________________________________________________</p>';
if (isset(
$_POST['very'])) { 
     foreach(
$_POST['very'] as $idMatPrima) { 
                 
$sql1="SELECT * FROM TRNDETALLECOTIZACION where IDDETALLE = '$idMatPrima'";
                
$rs1=mysql_query($sql1);
                
$fill mysql_fetch_array($rs1);
                
mysql_query("INSERT INTO TRNDETALLEORDENCOMPRA (IDORDEN, IDMATPRIMA, IDUNIDAD, CANTPRODUCTO, PRECIOUNITARIO) VALUES ('".$row_ulencado['IDORDEN']."','".$fill['IDMATPRIMA']."','".$fill['IDUNIDAD']."','".$fill['CANTPRODUCTO']."','".$fill['PRECIOUNITARIO']."' )") or die(mysql_error());
               echo 
'<p>Detalle de Entrada: '.$idMatPrima.'</p>';
               echo 
'<p>Canitdad de Producto: '.$fill['CANTPRODUCTO'].'</p>';
               echo 
'<p>Materia Prima: '.$fill['IDMATPRIMA'].'</p>';
               echo 
'<p>Precio Unitario: '.$fill['PRECIOUNITARIO'].'</p>';
               echo 
'<p>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>';
     } 
}
?>
Gracias nuevamente al foro y en especial a Nemutagk

Etiquetas: elementos, generados, html, mysql, registro, seleccionado, select, sql, tabla
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 20:44.