Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/11/2015, 09:46
Avatar de gonzaherrera77
gonzaherrera77
 
Fecha de Ingreso: noviembre-2015
Mensajes: 60
Antigüedad: 8 años, 6 meses
Puntos: 7
Respuesta: formulario en php

Por lo vi que tenes problema con el tercer script que seria servicio.php, para mostrar los pedidos de las personas en el bucle de extender.php lo tenes que dejar asi

Código PHP:
Ver original
  1. for ($i = 1; $i <= $vrcantidad ; $i++) {
  2.             echo "<fieldset>";
  3.             echo "<legend>Formulario de servicio para persona numero: $i</legend>";
  4.             echo "<label>Restaurante el sason casero</label><br />";
  5.             echo "<label>Seleccione su sopa: </label>";
  6.             echo "<select name='listSopa".$i."'>";
  7.             echo "<option value='1a'>Sopa de verduras</option>";
  8.             echo "<option value='2a'>Sopa frita</option>";
  9.             echo "<option value='3a'>Sopa de cereales</option>";
  10.             echo "<option value='4a'>Sancocho de gallina</option>";
  11.             echo "<option value='5a'>Ajiaco</option>";
  12.             echo "</select>";
  13.             echo "<br />";
  14.  
  15. echo "<label>Seleccione su seco: </label>";
  16.             echo "<select name='listSeco".$i."'>";
  17.             echo "<option value='1b'>Carne de res sudada</option>";
  18.             echo "<option value='2b'>Carne de res asada</option>";
  19.             echo "<option value='3b'>Carne de res frita</option>";
  20.             echo "<option value='4b'>Carne de cerdo ahumada</option>";
  21.             echo "<option value='5b'>Carne de cerdo frita</option>";
  22.             echo "<option value='6b'>Costilla de cerdo</option>";
  23.         echo "</select>";
  24.         echo "<br />";
  25.  
  26. echo "<label>Seleccione su bebida: </label>";
  27.         echo "<select name='listBebida".$i."'>";
  28.         echo "  <option value='1c'>Gaseosa</option>";
  29.         echo "  <option value='2c'>Jugo de frutas</option>";
  30.         echo "  <option value='3c'>Limonada</option>";
  31.         echo "  </select>";
  32.         echo "  <br />";
  33.         echo "  </fieldset>";
  34.      }

Voy cambiando el nombre del combo <select name='listSopa".$i."'>, asi despues puedo recuperar los datos.

y en archivo servicio.php lo recibo asi.
Código PHP:
Ver original
  1. <?php
  2.  
  3. //Cantidad de persona
  4. $vrcantidad = $_POST['vrcantidad'];
  5.  
  6. for($i = 1; $i <= $vrcantidad; $i++) {
  7.    //Recibo el combo listSopa
  8.    $vrsopa = $_POST["listSopa$i"];
  9.    //Recibo el combo de listSeco
  10.    $vrseco = $_POST["listSeco$i"];
  11.    //Recibo el combo de listBebida
  12.    $vrbebida=$_POST["listBebida$i"];
  13.  
  14.    //Cantidad de persona
  15.    echo 'Persona '.$i;
  16.    echo '<ul>';
  17.    //Evaluo el value del combo listSopa.
  18.       switch($vrsopa) {
  19.          case '1a':
  20.             echo '<li>Sopa de verdura</li>';
  21.             break;
  22.          case '2a':
  23.             echo '<li>Sopa Frita</li>';
  24.             break;
  25.          case '3a':
  26.             echo '<li>Sopa de cereales</li>';
  27.             break;
  28.          case '4a':
  29.             echo '<li>Sancocho de gallina</li>';
  30.             break;
  31.          case '5a':
  32.             echo '<li>Ajiaco</li>';
  33.             break;
  34.       }
  35.       //Evalou el value del combo listSeco
  36.       switch ($vrseco) {
  37.          case '1b':
  38.             echo '<li>Carne de res sudada</li>';
  39.             break;
  40.          case '2b':
  41.             echo '<li>Carne de res asada</li>';
  42.             break;
  43.          case '3b':
  44.             echo '<li>Carne de res frita</li>';
  45.             break;
  46.          case '4b':
  47.             echo '<li>Carne de cerdo ahumada</li>';
  48.             break;
  49.          case '5b':
  50.             echo '<li>Carne de cerdo frita</li>';
  51.             break;
  52.          case '6b':
  53.             echo '<li>Costilla de cerdo</li>';
  54.       }
  55.  
  56.       //Evalou el combo de listBebida
  57.       switch($vrbebida) {
  58.          case '1c':
  59.             echo '<li>Gaseosa</li>';
  60.             break;
  61.          case '2c':
  62.             echo '<li>Jugo de frutas</li>';
  63.             break;
  64.          case '3c':
  65.             echo '<li>Limonada</li>';
  66.             break;
  67.       }
  68.    echo '</ul>';
  69. }
  70. ?>

Por cada vuelta del bucle me va a recibir primero el value del combo listSopa1, listSeco y de listBebida y va incrementando por la cantidad de persona.

Entonces el archivo extender.php tendria quedar asi

Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Formulario de servicio</title>
  5.     <meta charset="utf-8">
  6. </head>
  7. <body>
  8.    <form name='formu' method='post' action='servicio.php'>
  9. <?php
  10. $vrcantidad=$_POST["cantidad"];
  11. for ($i = 1; $i <= $vrcantidad ; $i++) {
  12.             echo "<fieldset>";
  13.             echo "<legend>Formulario de servicio para persona numero: $i</legend>";
  14.             echo "<label>Restaurante el sason casero</label><br />";
  15.             echo "<label>Seleccione su sopa: </label>";
  16.             echo "<select name='listSopa".$i."'>";
  17.             echo "<option value='1a'>Sopa de verduras</option>";
  18.             echo "<option value='2a'>Sopa frita</option>";
  19.             echo "<option value='3a'>Sopa de cereales</option>";
  20.             echo "<option value='4a'>Sancocho de gallina</option>";
  21.             echo "<option value='5a'>Ajiaco</option>";
  22.             echo "</select>";
  23.             echo "<br />";
  24.  
  25. echo "<label>Seleccione su seco: </label>";
  26.             echo "<select name='listSeco".$i."'>";
  27.             echo "<option value='1b'>Carne de res sudada</option>";
  28.             echo "<option value='2b'>Carne de res asada</option>";
  29.             echo "<option value='3b'>Carne de res frita</option>";
  30.             echo "<option value='4b'>Carne de cerdo ahumada</option>";
  31.             echo "<option value='5b'>Carne de cerdo frita</option>";
  32.             echo "<option value='6b'>Costilla de cerdo</option>";
  33.         echo "</select>";
  34.         echo "<br />";
  35.  
  36. echo "<label>Seleccione su bebida: </label>";
  37.         echo "<select name='listBebida".$i."'>";
  38.         echo "  <option value='1c'>Gaseosa</option>";
  39.         echo "  <option value='2c'>Jugo de frutas</option>";
  40.         echo "  <option value='3c'>Limonada</option>";
  41.         echo "  </select>";
  42.         echo "  <br />";
  43.         echo "  </fieldset>";
  44.      }
  45. ?>
  46.  
  47.       <input type='submit' name='botonprocesar' value='Procesar'>
  48.       <input type='reset' name='botonreset' value='Restablecer'>
  49.       <input type="hidden" name="vrcantidad" value="<?php echo $vrcantidad; ?>">
  50.       <br />
  51.    </form>
  52.  
  53. </body>
  54. </html>

Mando invisiblemente la cantidad de persona en archivo extender.php.

servicios.php
Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Formulario de servicio</title>
  5.     <meta charset="utf-8">
  6. </head>
  7. <body>
  8. <?php
  9.  
  10. //Cantidad de persona
  11. $vrcantidad = $_POST['vrcantidad'];
  12.  
  13. for($i = 1; $i <= $vrcantidad; $i++) {
  14.    //Recibo el combo listSopa
  15.    $vrsopa = $_POST["listSopa$i"];
  16.    //Recibo el combo de listSeco
  17.    $vrseco = $_POST["listSeco$i"];
  18.    //Recibo el combo de listBebida
  19.    $vrbebida=$_POST["listBebida$i"];
  20.  
  21.    //Cantidad de persona
  22.    echo 'Persona '.$i;
  23.    echo '<ul>';
  24.    //Verifico el value del combo listSopa.
  25.       switch($vrsopa) {
  26.          case '1a':
  27.             echo '<li>Sopa de verdura</li>';
  28.             break;
  29.          case '2a':
  30.             echo '<li>Sopa Frita</li>';
  31.             break;
  32.          case '3a':
  33.             echo '<li>Sopa de cereales</li>';
  34.             break;
  35.          case '4a':
  36.             echo '<li>Sancocho de gallina</li>';
  37.             break;
  38.          case '5a':
  39.             echo '<li>Ajiaco</li>';
  40.             break;
  41.       }
  42.       //Verifico el value del combo listSeco
  43.       switch ($vrseco) {
  44.          case '1b':
  45.             echo '<li>Carne de res sudada</li>';
  46.             break;
  47.          case '2b':
  48.             echo '<li>Carne de res asada</li>';
  49.             break;
  50.          case '3b':
  51.             echo '<li>Carne de res frita</li>';
  52.             break;
  53.          case '4b':
  54.             echo '<li>Carne de cerdo ahumada</li>';
  55.             break;
  56.          case '5b':
  57.             echo '<li>Carne de cerdo frita</li>';
  58.             break;
  59.          case '6b':
  60.             echo '<li>Costilla de cerdo</li>';
  61.       }
  62.  
  63.       //Verifico el combo de listBebida
  64.       switch($vrbebida) {
  65.          case '1c':
  66.             echo '<li>Gaseosa</li>';
  67.             break;
  68.          case '2c':
  69.             echo '<li>Jugo de frutas</li>';
  70.             break;
  71.          case '3c':
  72.             echo '<li>Limonada</li>';
  73.             break;
  74.       }
  75.    echo '</ul>';
  76. }
  77. ?>
  78. </body>
  79. </html>

Esta seria una de las tantas forma de poder hacerlo, cualquier cosa aquí estamos.

¡Saludos!