Vamos al grano.
Tengo hecho un formulario en el cual se cargan líneas dinámicas al pulsar un boton con un conjunto de campos los cuales terminan con corchetes para llevarlos a un array.
La gracia es que quiero ordenar estos datos para que aparezcan en la misma línea dependiendo de cual sea el indice numérico del valor agregado en el formulario.
Algo así como:
|--Cantidad--|-Modelo---|- Producto |- bla ------|- bla ------|- bla ------|
|-- Valor1-----|-Valor1----|- Valor1----|- Valor1--|- Valor1---|- Valor1---|
|-- Valor2-----|-Valor2----|- Valor2----|- Valor2--|- Valor2---|- Valor2---|
Por lo que estuve viendo tengo que hacer una anidación de bucles, pero hasta acá llegaron mis conocimientos en PHP para poder hacerlo y por lo tanto me veo en la necesidad de pedirles ayuda
Adjunto el código del form para que le echen un ojo encima
Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> var id_producto = <?= time();?> var current = 1; current++; function addLinea() { current++; id_producto++; var strToAdd = '<tr><td><input type="hidden" id="id_producto['+current+']" name="id_producto[]" readonly="readonly" size="1" value="'+id_producto+'" />'; strToAdd += '<input type="text" id="cantidad['+current+']" name="cantidad[]" size="2" /></td>'; strToAdd += '<td><input type="text" id="partnumber['+current+']" name="partnumber[]" size="8" /></td>'; strToAdd += '<td><input type="text" id="nombreproducto['+current+']" name="nombreproducto[]" size="40" /></td>'; strToAdd += '<td><select name="proveedor[]">'; strToAdd += '<option selected value="0">----- Selecciona -----</option>'; <? while($row_proveedor = mysql_fetch_row($rec_proveedor)){?> strToAdd += '<option value="<?=$row_proveedor[0];?>" ><? echo "$row_proveedor[1]"; ?></option>'; <? }?> strToAdd +='</select></td> <td><input type="text" id="preciocosto['+current+']" name="preciocosto[]" size="5" /></td>'; strToAdd += '<td><input type="text" id="margen['+current+']" name="margen[]" size="2" /></td>'; strToAdd += '<input type="button" value="Compuesto" id="compuesto" /></td>'; $('#mainLinea #coti').append(strToAdd) } $(document).ready(function(){ $('#addLinea').click(addLinea) }); </script> </head> <body> <div id="formContainerCoti" style="width:1000px; margin-top:15px !important;"> <div style="float:left"> <img src="../../img/logo.png" alt="ONAK Systems" /> <h1>Área de creación de cotizaciones</h1> <h2>Esta cotización es para la empresa <? echo "$row_cliente[4]"; ?> </h2> </div> <form action="funciones/enviar.php" method="post" name="cotizador"> <input type="hidden" name="id_cotizacion" value="<?= time();?>" readonly="readonly" /> <table id="datos" border="0" cellspacing="0" cellpadding="0"> <tr> <td><label for="dolar">Valor del dolar</label></td> <td><input type="text" value="1" name="dolar" /></td> </tr> <tr> <td><label for="contacto">Nombre de contacto</label></td> <td><input type="text" readonly="readonly" name="nombre_contacto" value="<? echo "$row_cliente[6] ".ucwords($row_cliente[2]); ?>" /></td> </tr> <tr> <td><label for="email">Email de contacto</label></td> <td><input type="text" readonly="readonly" name="mail_contacto" value="<? echo "$row_cliente[3]"; ?>" /></td> </tr> <tr> <td><label for="fono">Teléfono de contacto</label></td> <td><input type="text" readonly="readonly" name="fono_contacto" value="<?= number_format($row_cliente[5]," "," ","-"); ?>" /></td> </tr> </table> <fieldset id="mainLinea"> <table id="coti" width="100%" border="0" cellspacing="2" cellpadding="2"> <tr> <td class="blanco">Ctd.</td> <td class="blanco">Part #</td> <td class="blanco">Producto</td> <td class="blanco">Proveedor</td> <td class="blanco">P. Costo</td> <td class="blanco">Margen</td> <td class="blanco">Subtotal</td> <td class="blanco"> </td> </tr> </table> <input type="button" id="addLinea" value="agregar producto" /> </fieldset> <table id="TBfinal" border="0" cellspacing="0" cellpadding="0"> <tr> <td rowspan="3"><label for="notas" style="float:left; width:100%">Notas:</label><textarea name="notas" cols="40" rows="3" style="width:100%; margin-top:5px"></textarea></td> <td><label for="partnum">Incluir part # en mail</label></td> <td><input name="partnum" type="checkbox" value="1" /></td> </tr> <tr> <td><label for="condpago">Condición de pago</label></td> <td><select name="condpago"> <option selected value="0">----- Selecciona -----</option> <? while($row_pago = mysql_fetch_row($rec_pago)){?> <option value="<?=$row_pago[0];?>" > <? echo "$row_pago[1]"; ?> </option> <? }?> </select></td> </tr> <tr> <td><label for="estado">Estado</label></td> <td><select name="estado"> <option selected value="0">----- Selecciona -----</option> <? while($row_estado = mysql_fetch_row($rec_estado)){?> <option value="<?=$row_estado[0];?>" > <? echo "$row_estado[1]"; ?> </option> <? }?> </select></td> </tr> </table> <input style="float:right; margin-top:15px" type="submit" value="Siguiente" /> </form> </div> </body> </html>