Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/08/2011, 13:52
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema con manejo de datos

Ok, ya veo, el producto lo estas colocando con select y la cantidad con input, el HTML deberia ser mas o menos asi:

Código HTML:
Ver original
  1. <tr>
  2.     <td><select name="prod_codi[]">
  3.         <option value="codigo_producto_1">Nombre producto 1</option>
  4.         .....
  5.         <option value="codigo_producto_N">Nombre producto N</option>
  6.     </select></td>
  7.     <td><input type="text" name="cantidad[]" value="" />
  8. </tr>

Y repites tantos tr como productos quieras mostrar.

Un ejemplo para leerlos con PHP, usando for y suponiendo que trabajas con variables de sesion:

Código PHP:
Ver original
  1. <?php
  2. $_SESSION['pedido'] = array();
  3. for($i = 0; $i < count($_POST['prod_codi']; $i ++) {
  4.     $cod_prodi = $_POST['prod_codi'][$i];
  5.     $cantidad = $_POST['cantidad'][$i];
  6.     if($cantidad > 0) {
  7.         $_SESSION['pedido'][$cod_prodi] = $cantidad;
  8.     }
  9. }
  10. ?>

Si requieres editar, entonces para cada fila del producto que ya esta en el pedido debes agregar en el select selected="selected" y el valor en el input:

Código PHP:
Ver original
  1. // Cuando estas creando el select
  2. $selected = $cantidad = ''; // Si el producto no esta en el pedido
  3. if(isset($_SESSION['pedido'][$fila['prod_codi']])) {
  4.     // Si el producto es parte del pedido
  5.     $selected =  ' selected="selected"';
  6.     $cantidad = $_SESSION['pedido'][$fila['prod_codi']];
  7. }
  8. echo "<option value=\"{$fila['prod_codi']}\"$selected>{$fila['prod_nomb']}</option>";
  9.  
  10. // Al crear el input de cantidad
  11. echo "<input type=\"text\" name=\"cantidad[]\" value=\"$cantidad\" />";

Te faltarian algunos pequeños detalles, como ver si el producto esta repetido en el pedido para juntar las lineas en una sola, sumando las cantidades, pero eso ya queda para ti.

Si no entiendes el codigo o como adaptarlo en lo que ya tienes... entonces trata de explicarme como interpretas cada linea sugerida para tratar de aclarar tus dudas.
__________________
- León, Guanajuato
- GV-Foto