Foros del Web » Programando para Internet » PHP »

imprimir array fuera de un bucle y condicional...

Estas en el tema de imprimir array fuera de un bucle y condicional... en el foro de PHP en Foros del Web. Hola... Por diversos motivos, necesito imprimir el listado de un array fuera del bucle (while) y al intentarlo hacer me imprime solamente el último valor ...
  #1 (permalink)  
Antiguo 04/01/2012, 06:47
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Pregunta imprimir array fuera de un bucle y condicional...

Hola...

Por diversos motivos, necesito imprimir el listado de un array fuera del bucle (while) y al intentarlo hacer me imprime solamente el último valor de la cadena. Este es mi código:

Código PHP:
// Para resumir la primera parte del codigo, aquí tengo una array listada que despuùes la
// compararé con la array de abajo:

$num_usuario $col[0]; // este valor me imprime 4,8,9 (por ejemplo)

$query "SELECT * FROM tabla WHERE grupo ='$grupo';"// El grupo es solo un filtro
$result mysql_query ($query) or die ('Errror buscando el identificador: ' mysql_error());
           
            
$array = array();
        
            while(
$row mysql_fetch_array $resultMYSQL_NUM ) ) {
  
                
$array[] = $row[1];
                
                }

           foreach (
$array as $valor)
      
     
// Aqui añado un condicional para imprimir una alerta
      
if ($valor === $num_usuario) { 
          
$alerta 'El usuario tiene un grupo asignado;
     } elseif  ($valor != $num_usuario) {
           $alerta = '
El usuario no ha sido asignado aun!;
   }

// Aqui es donde me debería aparecerme el listado y solo me aparece el último valor:

print $alerta
Sabéis cómo puedo hacer que me aparezca el listado entero de mis array?....

Gracias!
__________________
Andrew :P
  #2 (permalink)  
Antiguo 04/01/2012, 07:18
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: imprimir array fuera de un bucle y condicional...

Hola, no se si entendí del todo el problema, lo que veo es que en el código, en ningun momento dice que $alerta sea un array.

Si lo que querés es imprimir en pantalla el array podés usar un foreach como lo usaste, pero en lugar de un if dentro le metés un echo

Código PHP:
Ver original
  1. foreach ($array as $valor)
  2. {
  3.    echo $valor;
  4.     echo '<br />';
  5. }
__________________
la la la
  #3 (permalink)  
Antiguo 04/01/2012, 07:24
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: imprimir array fuera de un bucle y condicional...

Hola truman_truman...

Gracias por tu respuesta... Lo del 'IF' es necesario porque debo comparar la lista con otra array que llega de otra consulta ($num_usuario).

La variable "$alerta" no es una array y solo es informativa y depende del filtro 'if' que te comento... Así si el listado de array inicial '$num_usuario' es iguala al listado de array '$valor', se imprimirá una cosa u otra.

De hecho, dentro del bucle (while) puedo leer la lista de mis variables y con el condicional, siempre y cuando este dentro del bucle. Pero necesito que ese resultado se imprime fuera de las llaves (del bucle).

Alguna otra sugerencia?
__________________
Andrew :P
  #4 (permalink)  
Antiguo 04/01/2012, 07:37
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: imprimir array fuera de un bucle y condicional...

Osea que $num_usuario tambien es un array?

O es solo una cadena "4,8,9" ?

Si es un array, estás haciendo mal la comparacion
if ($valor === $num_usuario)
estás comparando un valor ($valor) contra un array ($num_usuario)


PD: recien me lavento estoy dormido jeje, perdon si no entendí
.
__________________
la la la
  #5 (permalink)  
Antiguo 04/01/2012, 08:09
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: imprimir array fuera de un bucle y condicional...

el 'num_usuario' es una array y la comparación dentro del bucle se hace sin problema... Si le paso un print me sale algo así:

Código:
print $num_usuario.' vs '.$valor.' ->'.$alerta.'<br>';

// se imprime:

4 vs 4 -> El usuario tiene un grupo asignado
8 vs 5 -> El usuario no ha sido asignado aun!
9 vs 7 -> El usuario no ha sido asignado aun!
20 vs 20 -> El usuario tiene un grupo asignado
12 vs 12 -> El usuario tiene un grupo asignado
Si el 'print' lo pongo fuera del bucle, me imprime esto:

Código:
12 vs 12 -> El usuario tiene un grupo asignado
El problema es cómo listar lo que hay dentro de ese bucle cerrado por los corchetes '{}' fuera de ellos?
__________________
Andrew :P
  #6 (permalink)  
Antiguo 04/01/2012, 08:29
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: imprimir array fuera de un bucle y condicional...

Código PHP:
Ver original
  1. $nuevo_array= array();
  2. foreach ($array as $valor)
  3. {
  4.      
  5.      // Aqui añado un condicional para imprimir una alerta
  6.       if ($valor === $num_usuario) {
  7.           $alerta = 'El usuario tiene un grupo asignado';
  8.          
  9.      } elseif  ($valor != $num_usuario) {
  10.            $alerta = 'El usuario no ha sido asignado aun!';
  11.    }
  12.    
  13.    $nuevo_array[] = $valor.' '.$alerta;
  14.    
  15. }  
  16.    
  17.  
  18. foreach ($nuevo_array as $nuevo_valor)
  19. {
  20.  
  21.   echo $nuevo_valor.'<br />';
  22.  
  23. }
__________________
la la la
  #7 (permalink)  
Antiguo 05/01/2012, 03:43
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: imprimir array fuera de un bucle y condicional...

Gracias nuevamente por tu interesante respuesta. De hecho, he aplicaqdo el método recomendado y le he dado muchísimas vueltas experimentando con el código y aprendiendo a imprimir 'arrays'... Interesante!

Sin embargo, lo máximo que he conseguido es algo como esto:

Código HTML:
4 vs 4 -> El usuario tiene un grupo asignado
4 vs 4 -> El usuario tiene un grupo asignado
4 vs 4 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
20 vs 20 -> El usuario tiene un grupo asignado
12 vs 12 -> El usuario tiene un grupo asignado
12 vs 12 -> El usuario tiene un grupo asignado
12 vs 12 -> El usuario tiene un grupo asignado
Parece que duplicara la arrray hasta la siguiente paridad y la volviera a repetir en forma de 'loop' ....

En fin, estoy un poco perdido ahora y no sé si podríais ayudarme con esto?

Gracias!
__________________
Andrew :P

Etiquetas: bucle, fuera, mysql, tabla, usuarios
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 10:47.