PHP - establecer variable como variable global dentro de loop

 
Vista:
sin imagen de perfil
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Nicolás (24 intervenciones) el 30/01/2017 17:11:17
Hola. Estoy trabajando en un código que define unos links dentro de un loop for. Necesito almacenar esos links como variables globales para ocuparlos afuera de ese loop. He intentado declarándolos como global pero no funciona. ¿Alguien me puede ayudar?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE HTML>
<html lang="">
    <head>
        <meta charset="UTF-8">
    </head>
 
<body>
    <!--inicio loop for-->
    <?php
    for($a = 0; $a < 3; $a++) :
    //variable local a variable global
    global $a;
    ?>
 
    <div class="links">
        <!--almaceno variable con atributo data-var-->
        <a href="" data-var="<?php echo $a; ?>">
            FOLDER <?php echo $a; ?>
        </a><br>
    </div>
 
    <!--cierro loop for-->
    <?php endfor; ?>
 
    <!--llamo variable global-->
    <dir class="variable">
        <?php echo "FOLDER"."&nbsp".$a; ?>
    </dir>
 
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Alejandro (839 intervenciones) el 30/01/2017 20:35:18
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿Que es lo que intentas?

1
2
3
4
for($a=0; $a<3; $a++){
    echo $a; // Este incrementa de 0 a 2
}
echo $a; // Este es 3

Como vez, la variable dento de un bucle sigue siendo local fuera o dentro de el.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Nicolás (24 intervenciones) el 31/01/2017 02:09:16
Lo que necesito hacer es conservar el valor de la variable al hacer click en algún link asociado con esa variable. Por ejemplo, al hace click en FOLDER 0, conservar el valor 0 para la variable $a. Si es FOLDER 1, que $a sea igual a 1, así sucesivamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Alejandro (839 intervenciones) el 31/01/2017 19:00:39
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Deves entender el funcionamiento

Las variable almacena un valor a la vez, es decir que si asignas un nuevo valor el anterior se pierde.
Las variables solo viven durante la ejecucion del script, exceptuando las de session.
El cliente solicita una peticion, el cliente ejecuta el script y retorna el resultado (la pagina html), en este punto las variables ya murieron.

En un arreglo puedes tener el mismo nombre pero distinto indice.
Igual si reasignas otro valor a un mismo indice, pierde su valor anterior para almacenar el nuevo.
$a[0], $a[1], $a[2], $a[n]...

Si quieres recuperar el valor tienes que enviarlo de modo que
El servidor ejecuta
1
2
3
for($a=0; $a<3; $a++){
    echo <a href='Link.php?a=$a'>Link_$a</a><br/>;
}
y te responde lo siguiente
1
2
3
<a href='Link.php?a=0'>Link_0</a><br/>;
<a href='Link.php?a=1'>Link_1</a><br/>;
<a href='Link.php?a=2'>Link_2</a><br/>;

Al presionar sobre un enlace se hace la peticion al servidor del archivo Link.php el cual se ejecuta recibiendo el valor de "a" pasado mediante el metodo GET
1
2
$a = $_GET[a];
echo "Elegiste el link numero $a";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Nicolás (24 intervenciones) el 01/02/2017 15:04:14
Me va quedando más claro. Sin embargo yo me refería a enlaces internos más que a enlaces externos. Por ejemplo, si tengo tantos párrafos como links a esos párrafos en una misma página:
1
2
3
4
5
<?php
for($a=0; $a<3; $a++){
    echo "<a href=''>parrafo_$a</a><br>";
}
?>

como puedo indicar al cliente que párrafo eligió?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Alejandro (839 intervenciones) el 01/02/2017 19:32:53
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Enlace interno son dentro del mismo dominio
localhost/enlace1.php, localhost/enlace2.php, localhost/enlacen.php...

Enlace externo son fuera del dominio.
google.com, yahoo.com, altavista.com...

Si buscas ejecutar codigo del lado del cliente no es php, es javascript
1
2
3
<a href="#" onclick="alert(this.text)">Parrafo 1</a>
<a href="#" onclick="alert(this.text)">Parrafo 2</a>
<a href="#" onclick="alert(this.text)">Parrafo 3</a>
En el ejemplo al presionar un enlace te mostrara un alerta con el texto del enlace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

establecer variable como variable global dentro de loop

Publicado por Nicolás (24 intervenciones) el 02/02/2017 16:18:23
Gracias. Ahora me queda más claro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar