Foros del Web » Programando para Internet » PHP »

Resultado usando foreach

Estas en el tema de Resultado usando foreach en el foro de PHP en Foros del Web. hola a todos!! tengo un problema con el uso del foreach y quiero ver si me pueden ayudar. Les paso a comentar: tengo un formulario ...
  #1 (permalink)  
Antiguo 13/07/2013, 13:45
 
Fecha de Ingreso: julio-2009
Mensajes: 48
Antigüedad: 15 años, 4 meses
Puntos: 0
Resultado usando foreach

hola a todos!! tengo un problema con el uso del foreach y quiero ver si me pueden ayudar. Les paso a comentar: tengo un formulario en el cual muestro una tabla dinámica con datos de BD, y lo que hago es que se agreguen dinamicamente unos checkbox's a cada fila que se genera al mostrar el resultado de una búsqueda y también que se agregue un campo vacío a dicha tabla. En el campo éste yo introduczo un número para el primer registro y en el segundo introduzco otro número y así sucesivamente..hasta acá bien!! pero cuando paso los datos a otra página mediante POST, me muestra todos los registros que quiero pasar pero con sólo el primer número del registro, y para todos los demás que siguen me repite el mismo número, y lo que quiero es que me muestre para cada uno el que corresponde, cómo hago esto??

este es mi código que recibe los datos:

Código PHP:
Ver original
  1. foreach ($_POST['cantidad'] as $cant){
  2.                                             while($row=pg_fetch_array($resultprodu)){
  3.                                                
  4.                                                 echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$cant."</td></tr> </br>"; //muestro cada campo de la BD en su respectiva cabecera de la tabla.
  5.                                             }
  6.                                         }

y el form del que viene es este:

Código PHP:
Ver original
  1. while($row=pg_fetch_array($resultprodu)){
  2.                                         echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td><input type=text name=cantidad[] value='' /></td><td><input title=Pedir type=checkbox value=".$row[0]." name=numero[] /></td></tr> \n"; //muestro cada campo de la BD en su respectiva cabecera de la tabla.
  3.                                     }

qué problema estoy teniendo?? gracias de ante mano..espero haya sido claro en mi pregunta..
  #2 (permalink)  
Antiguo 27/08/2013, 13:34
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 3 meses
Puntos: 29
Respuesta: Resultado usando foreach

Prueba este script
Código PHP:
Ver original
  1. <?php
  2. $row = array('10','11','12','13','14');
  3. ?>
  4. <form id="ver_sorteos" name="" method="post" action="">
  5.     <?php
  6.     echo '<table border=1>';
  7.     echo '<tr><th>Num</th><th>P</th><th>Cant</th></tr>';
  8.     for ($i = 0,$can=1; $i < count($row); $i++,$can++) {
  9.        echo "<tr>
  10.        <th>".$row[$i]."</th>
  11.        <td><input type=checkbox title=Pedir value=".$row[$i]." name='numero[$i]' />
  12.        <td><input type=text size='5' name=cantidad[$i] value='' /></td>
  13.        </tr>\n";
  14.     }
  15.     echo '</table>';
  16.     ?>
  17.     <input type="submit" name="enviar">
  18. </form>
  19.  
  20. <?php
  21.  
  22. if ($_POST['enviar']) {
  23.  
  24.    if (array_sum($_POST['cantidad']) == 0) {
  25.       echo 'No hay cantidad';
  26.       exit;
  27.    }
  28.    if (empty($_POST['numero'])) {
  29.       echo 'No hay pedidos';
  30.       exit;
  31.    }
  32.  
  33.    echo '<table border=1>';
  34.    echo '<tr><th>Num</th><th>Cant</th></tr>';
  35.  
  36.    for ($e = 0; $e < count($_POST['cantidad']); $e++) {
  37.       if ($_POST['cantidad'][$e]) {
  38.          echo "<tr>
  39.         <th>".$_POST['numero'][$e]."</th>
  40.         <td>".$_POST['cantidad'][$e]."</td>
  41.         </tr>";
  42.       }
  43.    }
  44.    echo '</table>';
  45. }
  46.  
  47. ?>

Etiquetas: foreach, formulario, registro, resultado, tabla, usando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:17.