Foros del Web » Programando para Internet » PHP »

Mostrar variables hasta que haya una vacía

Estas en el tema de Mostrar variables hasta que haya una vacía en el foro de PHP en Foros del Web. Hola gente, les planteo mi duda... recibo por formulario mediante POST las variables $porcentaje1, $porcentaje2, etc, y asi hasta el 10. El tema está en ...
  #1 (permalink)  
Antiguo 20/05/2014, 11:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 15 años, 3 meses
Puntos: 0
Mostrar variables hasta que haya una vacía

Hola gente, les planteo mi duda...
recibo por formulario mediante POST las variables $porcentaje1, $porcentaje2, etc, y asi hasta el 10.
El tema está en que el usuario puede ingresar menos de 10 variables, por lo cual actualmente yo estoy mostrando esto:

Porcentaje Cedido 1: 9
Porcentaje Cedido 2: 5
Porcentaje Cedido 3: 3
Porcentaje Cedido 4:
Porcentaje Cedido 5:
Porcentaje Cedido 6:
Porcentaje Cedido 7:
Porcentaje Cedido 8:
Porcentaje Cedido 9:
Porcentaje Cedido 10:

(en este caso el usuario solo ingresó 3 datos)

el codigo usado es:
Código PHP:
        <br>Porcentaje Cedido 1: <span id="muestraDatos"><?php echo $porcentaje1?></span>
        <br>Porcentaje Cedido 2: <span id="muestraDatos"><?php echo $porcentaje2?></span>
        <br>Porcentaje Cedido 3: <span id="muestraDatos"><?php echo $porcentaje3?></span>
        <br>Porcentaje Cedido 4: <span id="muestraDatos"><?php echo $porcentaje4?></span>
        <br>Porcentaje Cedido 5: <span id="muestraDatos"><?php echo $porcentaje5?></span>
        <br>Porcentaje Cedido 6: <span id="muestraDatos"><?php echo $porcentaje6?></span>
        <br>Porcentaje Cedido 7: <span id="muestraDatos"><?php echo $porcentaje7?></span>
        <br>Porcentaje Cedido 8: <span id="muestraDatos"><?php echo $porcentaje8?></span>
        <br>Porcentaje Cedido 9: <span id="muestraDatos"><?php echo $porcentaje9?></span>
        <br>Porcentaje Cedido 10: <span id="muestraDatos"><?php echo $porcentaje10?></span>
y queda bastante feo que aparezca del 4 al 10 siendo que no hay nada...


he probado inventando un while, pero en algo le estoy pifiando, por ejemplo hice esto:

Código PHP:
        <?php
        $porc 
1;
        
$valor 1;
        while (
$valor 0) {
        
$porcentaje "$porcentaje".$porc;
        
$valor $porcentaje;
        echo 
"Porcentaje ".$porc." ".$valor."%";        
        
$porc++;
        }
        
?>
pero en lugar de mostrarme el valor de $porcentaje1, me muestra literalmente el string "$porcentaje1"

En definitiva, lo que quiero es que muestre solo las variables no vacias.

Espero su ayuda, gracias...
  #2 (permalink)  
Antiguo 20/05/2014, 12:34
Myl
 
Fecha de Ingreso: agosto-2011
Mensajes: 61
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Mostrar variables hasta que haya una vacía

Hola

Si ya sabes que la cantidad maxima de datos es de 10, solo debes hacer un for.

Código PHP:
for($i=1;$i<=10;$i++){
    if(isset(
$_POST["porcentaje$i"])){
        echo 
$_POST["porcentaje$i"];
    }

  #3 (permalink)  
Antiguo 20/05/2014, 12:35
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 10 meses
Puntos: 17
Respuesta: Mostrar variables hasta que haya una vacía

$porcentaje = "$porcentaje".$porc;

Prueba quitando las "" de $porcentaje.

Código PHP:
Ver original
  1. $porcentaje = $porcentaje.$porc;
Sino te funciona con un while prueba con el for. Tu quieres mostrar los valores que tengan algo, es decir los que no sean = "".
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #4 (permalink)  
Antiguo 20/05/2014, 12:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Mostrar variables hasta que haya una vacía

Es mala técnica nombrar los campos de esa forma, lo correcto sería así:
Código HTML:
Ver original
  1. <input name="campo[0]">
  2. <input name="campo[1]">
  3. <input name="campo[2]">

Y al recibirlo $_POST['campo'] será un array, y los índices se mantendrán:
Código PHP:
Ver original
  1. foreach ($_POST['campo'] as $index => $value) {
  2.   echo "<p>$index: $value</p>";
  3. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: condicional
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 22:19.