Foros del Web » Programando para Internet » PHP »

Como imprimir la misma variable en varios lugares de la misma página?

Estas en el tema de Como imprimir la misma variable en varios lugares de la misma página? en el foro de PHP en Foros del Web. Código PHP: <?PHP     $count  =  "123456" ; echo  "Origen: $count <BR>Aqui la variable \$sx es:" ; $num  =  strlen ( $count ); for ( $i = 0  ;  $i <= $num - ...
  #1 (permalink)  
Antiguo 17/10/2003, 20:02
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Como imprimir la misma variable en varios lugares de la misma página?

Código PHP:
<?PHP
    $count 
"123456";
echo 
"Origen: $count <BR>Aqui la variable \$sx es:";
$num strlen($count);
for (
$i=$i<=$num-$i++){
    
$sx "<BR>".$count[$i];
    echo 
$sx;
}
?>
<BR><BR>

Como imprimir la misma variable $sx; en varios lugares de la misma página?, pues como pueden ver, se "deteriora" al hacerlo por fuera de la matriz. ( asi se llama el script inicial?).<BR><BR>Por que aqui $sx; ya tiene otro valor:<BR>
<?php echo $sx?>
<P>
Gracias.

Última edición por RAZACALA; 17/10/2003 a las 20:06
  #2 (permalink)  
Antiguo 17/10/2003, 20:26
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Bueno, si te das cuenta, dentro de tu loop estás cambiandole el valor a la variable X veces, y si despues de salir quieres mostrar la variable, pues es logico que te va a mostrar el ultimo valor que tuvo asignado...

for ($bla=0; $bla<10; $bla++) {
$var = $Variable[$bla];
echo $var;
}


echo $var; // Esto te resulta en 9
echo $var; // Esto tambien te resulta en 9
echo $var; // Esto tambien te resulta en 9
echo $var; // Esto tambien te resulta en 9
echo $var; // Esto tambien te resulta en 9

__________________
Manoloweb
  #3 (permalink)  
Antiguo 17/10/2003, 20:40
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 8 meses
Puntos: 2
Hombre... no puedes abandonar el bucle mientras trabaja...

El for() se está ejecutando, y si haces un echo() después del for() pues entonces te devolverá el último valor generado por dicho for().

PHP ejecuta el código por orden, y en tu caso se queda dando vueltas en el for() hasta que culmina el ciclo establecido. La verdad no se me ocurre ninguna forma de hacerle un echo() a dicha variable fuera del bucle manteniendo el valor en que se encuentre en dicho momento.

Yo lo veo imposible, porque entonces dicha variable tendría que cambiar dinamicamente en el explorador, supongo que algo de JS te sería necesario.

Espero haberte aclarado un poco el tema. Mucha suerte.
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #4 (permalink)  
Antiguo 17/10/2003, 20:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero que pretendes hacer ...?

Acaso quieres distribuir esos datos en celdas de una tabla HTML? .. o crear capas en alguna determinada posición? ...

En fin .. sólo recordarte que con PHP generas el HTML/javascript/etc código para el navegador .. así que si sabes como hacerlo en alguno de estos lenguajes (HTML/javacript ..usando capas ..etc ..) sólo tienes que modificar o crear dinámicamente el código que te haga falta ..

Ejemplo .. en crear tablas HTML con sus celdas según filas/columnas .. sería cosa de ir sacando un <tr> o <td> según corresponda ... En caso de crear capas en X coordenadas .. pues idem ..

Como siempre.. tu conoces tu problema .. pero los demás no así que ponlo fácil para que te entendamos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 17/10/2003, 21:04
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias.

Entonces como puedo obtener la variable:

$sx = "<BR>1<BR>2<BR>3<BR>4<BR>5<BR>6";

para imprimirla donde sea, las veces que me sea requerido?.

NOta: $count es un dato que llega de otra pagina, asi que no se sabe cuales, ni cuantos digitos, llegaran.

Código PHP:
<?PHP
____$count_
=_"123456";
    
echo_"Origen:_$count_<BR>Aqui_la_variable_\$sx_es:";
    
$num_=_strlen($count);
    
for_($i=0_;_$i<=$num-1_;_$i++){
____$sx_=_"<BR>".$count[$i];
____echo_$sx;
}
?>

Última edición por RAZACALA; 17/10/2003 a las 21:08
  #6 (permalink)  
Antiguo 17/10/2003, 21:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa una variable Acomulador .. Para tu caso concreto sería concatenar tu valor "<br>nº" con lo que tenga .. Para eso se usa el punto (.) delante del = (y separado del nombre de tu variable)


Código PHP:
$sx .="<BR>".$count[$i]; 
Sería equivalenta al tradicional:

Código PHP:
$sx =$sx."<BR>".$count[$i]; 
Así al terminar tu bucle .. $sx tendría tu acomulado y lo podrías usar donde requieras ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 17/10/2003, 21:29
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias.

CLUSTER, muchas gracias.

Tambien a drcyber, y manoloweb.

Lo que requiero es que en este caso como en muchos otros que estan "detenidos", por no saber como hacerle, donde la funcionX da como respuesta...

Por ejemplo en este caso:

$sX = "<br>1<br>2<br>3<br>4<br>5<br>6";

Poder yo imprimir VARIAS VECES, el contenido de esa variable, en VARIOS SITIOS de la misma pagina.

*****************
Ya que me dan la oportunidad de hablar con ustedes un poco, les comento otro caso que "resolvi", pero por que solo habia que inprimir una sola vez:

Código PHP:
<INPUT TYPE=HIDDEN NAME=Servicios VALUE="<TABLE>";
preg_match_all ('/(.*?)(\\[.*?\\])/'$datosenviados$coincidenciasPREG_SET_ORDER);
foreach (
$coincidencias as $matriz)
    echo 
"<TR><TD><P CLASS=N>" .
        
$matriz[1] . "</TD><TD><P CLASS=N>" .
        
$matriz[2] . "</TD></TR>";
echo 
"</TABLE><BR>\"> 
Como pueden ver, tuve que egecutar una matriz en X parte de la pagina para crear un valor de tablas en un INPUT.

Pero....

Entonces, definitivamente no hay forma de hacer que estos valores, o salidas o resultados de egecutar una matriz se vuelvan una variable?.

Por que en medio de mi poca vision, me parece que seria MUY util, por que asi solo es cosa de "echo $resultadodematriz"; o <INPUT TYPE=HIDDEN VALUE=$resultadodematriz>

Muchas gracias si me corrigen mis barvaridades de necio neofito.
  #8 (permalink)  
Antiguo 17/10/2003, 21:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
$sX = "<br>1<br>2<br>3<br>4<br>5<br>6";

Poder yo imprimir VARIAS VECES, el contenido de esa variable, en VARIOS SITIOS de la misma pagina.
A ver si me aclaro:
1) ¿Ya tienes solucionado como obtener tu variable $sX con esos valores tras aplicar tu bucle (for) .. ? (esto es parte de mi respuesta sobre que tienes que "concatenar" tus variables en una variable "acomulador" ..

2) .. Si ya tiens claro el punto 1 .. DONDE y cuantas veces requieras ..podrás imprimir ese valor de tus variables .. TODO depende de la estructura de tu página HTML que le dés .. Recuerda que estás programando para "navegadores" (o es otra cosa?) y que al navegador se le manda a ejecutar código en HTML/javascript .. Así que tendras que ver tu si haces una tabla HTML con X celdas/filas y ahi presentas las veces que necesites esas variables .. o usas capas (layers) .. etccccccccc.

O .. insisto ¿que pretendes hacer? ... Explicate mejor . pon ejemplos .. da algún link si se puede ve ese código funcionando o ejemplo .. no sé .. o haz un dibujo y lo pones como [img] .. El caso que te entendamos ...

********
Todo los problemas que tienes que sobre realizar un ciclo (bucle) extraer o procesar X datos y volcarlos en una variable se hace exactamente igual que en el ejemplo que te dí anterior ..

Tienes que Concatenar tu cógigo que estás generando (con tu HTML por médio si lo necesitas) en una variable ..En lugar de tu "echo" usa una varible tipo acomulador:

Código PHP:
$nose .=$algo."algo"
Y .. bueno, lo que proponías de pasar ese tipo de variabels con tus datos y HTML!!!!! en un campo hidden a otra página .. Sinceramente no lo veo correcto. Cuando propagas datos entre scripts (paginas) debes propagar SÓLO datos .. no "presentación" .. Si tus datos han de mantener alguna relacióne entre ellos usa Arrays por ejemplo para organizarlos. Los arrays se propagan de un script a otro "serializandolos" (que es parte de lo que más o menos estás haciendo cuando haces tu $nose="<br>var1<br>var2 ...."

En las FAQ's de este foro tienes un par de funciones para hacer esto de serializar/des-serializar arrays ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 17/10/2003 a las 22:01
  #9 (permalink)  
Antiguo 18/10/2003, 09:19
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
My php estara mal instalado?

A ver si me aclaro:
1) ¿Ya tienes solucionado como obtener tu variable $sX con esos valores tras aplicar tu bucle (for) .. ?

*********
Si, haciendo esto:

<?PHP
$count = "123456";
echo "Origen: $count <BR>Aqui la variable \$sx es:";
$num = strlen($count);
for ($i=0 ; $i<=$num-1 ; $i++){
$sx = "<BR>".$count[$i];
echo $sx;
}
?>
la variable $sx se convierte en:
$sX = "<br>1<br>2<br>3<br>4<br>5<br>6";

****************

2) .. Si ya tienes claro el punto 1 .. DONDE y cuantas veces requieras ..podrás imprimir ese valor de tus variables...

>>
Con sus respuestas lo que yo hice fue esto:

<?PHP
$count = "123456";
echo "Origen: $count <BR>Aqui la variable \$sx es:";
$num = strlen($count);
for ($i=0 ; $i<=$num-1 ; $i++){
$sx_=$sx."<BR>".$count[$i];
}
echo $sx;
?>


Y tampoco logro que $sx se convierta en:
$sX = "<br>1<br>2<br>3<br>4<br>5<br>6";
********************

O .. insisto ¿que pretendes hacer? ... Explicate mejor . pon ejemplos .. da algún link

>>el link es: http://www.menashshamahsakal.com/razacala

********
Todo los problemas que tienes que sobre realizar un ciclo (bucle) extraer o procesar X datos y volcarlos en una variable se hace exactamente igual que en el ejemplo que te dí anterior ..

>>Muchas gracias, veo que es "un trucaso", pero algo estoy haciendo mal, por que como puedes ver, no me funciona.

*************
Si tus datos han de mantener alguna relación entre ellos usa Arrays por ejemplo para organizarlos.

>>Gracias, os prometo que estudiare los arrays en esta semana, (lo he intentado, pero me han dado trabajo).

Muy cordial de su parte.

Al final...

Sera que el php instalado lo tengo malo?

Última edición por RAZACALA; 18/10/2003 a las 09:55
  #10 (permalink)  
Antiguo 18/10/2003, 10:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
RAZACALA ...

No sé si te has dado cuenta (o ya lo solventastes y no lo has comunicado aquí) .. pero SIEMPRE he dicho y he hablado en estos mensajes de la "CONCATENACIÓN" y eso se hace con el "PUNTO" delante de tu = al agignar tu variable!!!

Código PHP:
$sx .="<br>".count[$i]; 
Y el echo que tiene en tu bucle for .. no lo uses ahí .. (sino veras como se vá acomulando esa varible ...)

En fin ... yo no lo voy a repetir más ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 18/10/2003, 17:30
Usuario baneado!
 
Fecha de Ingreso: diciembre-2002
Ubicación: En mi chozita
Mensajes: 142
Antigüedad: 21 años, 4 meses
Puntos: 0
Definitivamente...

Si uno tuviese amigos como ustedes...

Uno seria cada vez mejor, y el mundo también!.

Gracias Cluster.

Pase el punto DELANTE del =, ( Como me indicaste desde el principio ), y ahora todo va como una seda...

Muchas gracias!.

Fue excelente que me enseñaras ese "trucaso" de concatenar las variables.

Que paciencia te mandas hombre!, de nuevo, gratisimas!.
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 00:37.