Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/09/2015, 11:43
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Como tomar más de un dato de una lista

ok amigo, lo que yo haria seria ir creando lineas dinamicamente a medida que necesite agrear articulos a mi factura, eso con jquery, luego las almacenaria en 2 tablas diferentes, por ejemplo, tabla factura y detalle factura, al momento de recuperarla haria un while que muestre los datos de detalle factura en la factura en pantalla.

tabla donde se generan las filas dinamicas
Código HTML:
Ver original
  1. <form action="guarda_factura.php" method="POST" enctype="multipart/form-data"><table id="tablatracking">
  2.         <tbody>
  3.          <tr>
  4.                 <td align="left"><input onclick="agregarArticulo()" type="button" value="Agregar Articulo" id="boton_agregar" class="btn btn-success"></td>
  5.           </tr>
  6.             <tr>
  7.               <td width="100" id="titulo">Articulo</td>
  8.               <td width="50"></td>
  9.                 <td width="33"></td>
  10.                 <td width="33"></td>
  11.             </tr>
  12.         </tbody>
  13.     </table>
  14.     <input type="submit" value="Registrar" id="boton_enviar" class="btn btn-warning" />
  15.   </form>

script que genera las filas al hacer clic en el boton:
Código Javascript:
Ver original
  1. // <![CDATA[
  2.  
  3. var posicionCampo = 1;
  4.  
  5.  
  6. function agregarArticulo() {
  7.  
  8.     nuevaFila = document.getElementById("tablatracking").insertRow(-1);
  9.  
  10.     nuevaFila.id = posicionCampo;
  11.  
  12.     nuevaCelda = nuevaFila.insertCell(-1);
  13.  
  14.     nuevaCelda.innerHTML = "<td><input type='text' size='50' name='Articulo[" + posicionCampo + "]' value='' placeholder=' Articulo...' required /></td>";
  15.    
  16.    
  17.     posicionCampo++;
  18.  
  19. }
  20.  
  21.  
  22. function eliminarUsuario(obj) {
  23.  
  24.     var oTr = obj;
  25.  
  26.     while(oTr.nodeName.toLowerCase() != 'tr') {
  27.  
  28.         oTr=oTr.parentNode;
  29.  
  30.     }
  31.  
  32.     var root = oTr.parentNode;
  33.  
  34.     root.removeChild(oTr);
  35.  
  36. }


con esto los recibo y los guardo en la base de datos:

Código PHP:
Ver original
  1. $articulo = array();
  2.  
  3. foreach($_POST['articulo'] as $key=>$value)
  4.     $articulo[]= $value;
  5.      
  6.  for($i=0; $i<count($articulo); $i++)
  7.  {
  8.  
  9. $result = $db->query("INSERT INTO detalle_factura (articulo) VALUE('$articulo[$i]')");

toda la data que ves alli es de muestra, adapta el codigo a tus variables
__________________
[email protected]
HITCEL