Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2014, 09:42
Avatar de Jlopez2014
Jlopez2014
 
Fecha de Ingreso: julio-2014
Ubicación: Barranquilla
Mensajes: 154
Antigüedad: 10 años, 4 meses
Puntos: 0
Exclamación Foreach solo lee primera fila

Hola a todos de nuevo, sigo trabajando en un proyecto que me ha dado varias dudas (algunas resueltas aquí) pues mi conocimiento está en desarrollo y estoy trabajando con lo que se y he aprendido en el proceso... esta es mi duda:

Gracias a la colaboración de un participante de la web logré estructurar lo siguiente para que de una tabla que se forma de los datos consultados de una BD luego se mande datos a otra(por decir así), asi traigo los datos:

Código PHP:
Ver original
  1. <?php
  2. $sql="
  3. SELECT MAX(cotizaciones.nocotizacion), cotizaciones.idproducto, cotizaciones.cantidad, cotizaciones.observaciones
  4. FROM cotizaciones
  5. INNER JOIN pedidos
  6. GROUP BY cotizaciones.idproducto";
  7.         $cs=mysql_query($sql,$cn);
  8.         echo"<center>
  9. <table border='3'>
  10. <tr>
  11. <td>Desc. Producto</td>
  12. <td>Cantidad Cotizada</td>
  13. <td>Cantidad Solicitada</td>
  14. <td>Observaciones</td>
  15. </tr>";
  16.         while($resul=mysql_fetch_array($cs)){
  17.             $var=$resul[0];
  18.             $var1=$resul[1];
  19.             $var2=$resul[2];
  20.             $var3=$resul[3];
  21.            
  22.            
  23.             echo "<tr>
  24. <td><input name='txtnopro[]' type='text'  value='$var1' size='15' readonly/></td>
  25. <td><input name='txtcotiz[]' type='text'  value='$var2' size='15' readonly/>
  26. <td><input name='txtcantidad[]' type='text'  value='' size='15'/></td>
  27. <td><input name='txtobs[]' type='text'  value='' size='15'/></td>
  28.  
  29.  
  30. </tr>";
  31.             }
  32.            
  33.             echo "</table>
  34. </center>";
  35. ?>

y asi coloque para que se inserten por medio del foreach pero nada, solo toma la primera:

Código PHP:
Ver original
  1. if($btn=="Agregar"){
  2.         foreach($_POST['txtnopedido'] as $key => $nopedido) {
  3.         $nopro = $_POST['txtnopro'][$key];
  4.     $cantidad = $_POST['txtcantidad'][$key];
  5.     $obs = $_POST['txtobs'][$key];
  6.        
  7.        
  8.        
  9.         $sql="insert into contenidopedido values ('$nopedido','$nopro','$cantidad','$obs')";
  10.        
  11.         $cs=mysql_query($sql,$cn);
  12.         echo "<script> alert('Se inserto correctamente el pedido');</script>";
  13.        
  14. }
  15.         }

NOTA: txtnopedido no se encuentra en la tabla de la consulta pero si esta en el formulario y de alli se toma la id del pedido... GRACIAS! se que esto no es tan complejo para ustedes aunque pareciera que es bastante... Feliz día!