Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   Como imprimir la misma variable en varios lugares de la misma página? (http://www.forosdelweb.com/f18/como-imprimir-misma-variable-varios-lugares-misma-pagina-159680/)

RAZACALA 17/10/2003 21:02

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.


Manoloweb 17/10/2003 21:26

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

;-)

drcyber 17/10/2003 21:40

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.

Cluster 17/10/2003 21:57

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,

RAZACALA 17/10/2003 22:04

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;
}
?>


Cluster 17/10/2003 22:19

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,

RAZACALA 17/10/2003 22:29

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.

Cluster 17/10/2003 22:59

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,

RAZACALA 18/10/2003 10:19

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? :adios:

Cluster 18/10/2003 11:44

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,

RAZACALA 18/10/2003 18:30

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!.


La zona horaria es GMT -6. Ahora son las 08:22.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2014, Jelsoft Enterprises Ltd.

SEO by vBSEO 3.3.2