Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2009, 12:38
Maye422
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Factura con php y mysql

Hola muchachos, estoy empezando con php y mysql y pues la verdad he tenido unos problemitas, que he ido solucionando, pero el que tengo ahora, no le he podido encontrar solucion:

Tengo un formulario dinamico de una factura, es decir, le puedo ir agregando o borrando filas, porque es una factura que puede tener n (que no se sabe cuantos son) items que describen a n articulos (1 fila para cada articulo).

el problema es que no se como capturar los datos, ya que cada fila esta compuesta por 3 columnas (referencia, cantidad, descripcion) y pues si son 3 filas cada variable (columna) tendria que tener 3 datos, el caso es que lo he intentado de todas las formas que he sabido e investigado, y siempre la variable queda con el valor de la ultima fila.

Siempre he visto que concatenanlas variables en el vector manualmente, es decir con una cantidad fija de filas, pero eso no me sirve, lo que busco es como hacerlo dinamicamente es decir, sin tener un numero fijo de filas.

Espero haberme hecho entender

aca esta el codigo del formulario y la lectura de variables que he intentado hacer

Código HTML:
<form method="post" action="Registrar_T.php" name="outputForm1">
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <table id="tabla_1">
<thead>
<tr>
<th>Nº Referencia</th>
<th>Cantidad</th>

<th>Descripcion</th>
<th>&nbsp;</th>
</tr>
</thead>

<tbody>

<!-- Fila escondida, que va a llegar con un base 0 -->
<tr id="clonable" style="display:none">
<td><input type="text" name="referencia" /></td>
<td><input type="text" name="cantidad" /></td>

<td><input type="text" name="descripcion" /></td>
<td><a href="#" onClick="borraFila(this.parentNode.parentNode)">Eliminar</a></td>
</tr>
<!-- Esta fila va a ser la clonada -->

<tr id="tabla_1_fila_1">
<td><input type="text" name="referencia" /></td>
<td><input type="text" name="cantidad" /></td>
<td><input type="text" name="descripcion" /></td>
<td><a href="#" onClick="borraFila(this.parentNode.parentNode)">Eliminar</a></td>

</tr>

</tbody>

<tfoot>
<tr>
<td colspan="n">
<a href="javascript:agregaFila( 'tabla_1' );">Agregar Fila</a>
</td>
</tr>
</tfoot>

</table>

<input type="submit" name="submit" value="Aceptar">
</form>


<script>

function agregaFila( id ) {
var tabla = document.getElementById( id );
var tbody = document.getElementById( tabla.id ).tBodies[0];
var row = tbody.rows[0].cloneNode( true );
var id = 1;
while( document.getElementById( tabla.id+'_fila_'+id ) ) {
id++;
}
row.id = tabla.id+'_fila_'+id;
row.style.display = '';
tbody.appendChild( row );
}

function borraFila( fila ) {
var id = fila.id;
if( fila.parentNode.rows.length <= 2 ) return;
document.getElementById( id ).parentNode.removeChild( document.getElementById(id) );
}

</script> 
**php de la consulta***
Código PHP:
<?php
$f
=count($_POST['referencia']);
for (
$i=0;$i<count($_POST['referencia']);$i++) {
$cantidad $_POST["referencia"][$i];
//echo $cantidad;
}
//POR EL MOMENTO ESTE CODIGO NO INTERESA YA QUE PARA descripcion Y cantidad EL PROCESO SERI EL MISMO
//$cantidad = $_POST['cantidad'];
//$descripcion = $_POST['descripcion'];


//SI SE PUEDE UN AYUDADITA ACA CON LA INSERCION
//$sql = "INSERT INTO demo(numfactura, descripcion, cantidad) 
//VALUES ('$numfactura','$descripcion','$cantidad')";

//$result = mysql_query($sql);

?>