PHP - ayudita con un array de paises

   
Vista:

ayudita con un array de paises

Publicado por Virginia (7 intervenciones) el 22/05/2015 02:45:46
Hola ! les cuento mi situacion, tengo una web donde quisiera mostrar , en el perfil de cada usuario la banderita y el codigo del pais dependiendo del valor de term_id que me de la base de datos sql.

entonces hice este array

1
2
3
4
5
6
7
8
9
10
11
$cssflags = array(
  array('term_id' => '103','name' => 'Afghanistan','short' => 'AF','css_flag' => 'flags/af.png'),
  array('term_id' => '104','name' => 'Albania','short' => 'AL','css_flag' => 'flags/al.png'),
  array('term_id' => '105','name' => 'Algeria','short' => 'DZ','css_flag' => 'flags/dz.png'),
  array('term_id' => '106','name' => 'Andorra','short' => 'AD','css_flag' => 'flags/ad.png'),
  array('term_id' => '107','name' => 'Angola','short' => 'AO','css_flag' => 'flags/ao.png'),
  array('term_id' => '109','name' => 'Argentina','short' => 'AR','css_flag' => 'flags/ar.png'),
  array('term_id' => '110','name' => 'Armenia','short' => 'AM','css_flag' => 'flags/am.png'),
  array('term_id' => '111','name' => 'Australia','short' => 'AU','css_flag' => 'flags/au.png'),
  array('term_id' => '112','name' => 'Austria','short' => 'AT','css_flag' => 'flags/at.png'),
  array('term_id' => '113','name' => 'Azerbaijan','short' => 'AZ','css_flag' => 'flags/az.png'),

sigue asi con todos los paises...


espero que se haya entendido, el term_id y su valor esta en la base de datos y para cada valor de term_id corresponde un pais

quisiera que segun el valor de term_id me muestre el valor de (short) y el valor de (css_flag)

bueno, agradezco desde ya si me pueden ayudar, si a alguien le interesa el array completo lo comparto con mucho gusto
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 xve

ayudita con un array de paises

Publicado por xve (5515 intervenciones) el 22/05/2015 08:53:48
Hola Virginia, de la manera que lo has realizado, tienes que hacer un bucle y ir recorriendo todos los valores para encontrar el term_id que necesitas... la manera correcta, seria haciendo un array del tipo key=>value... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$cssflags = array(
  '103'=>array('name' => 'Afghanistan','short' => 'AF','css_flag' => 'flags/af.png'),
  '104'=>array('name' => 'Albania','short' => 'AL','css_flag' => 'flags/al.png'),
  '105'=>array('name' => 'Algeria','short' => 'DZ','css_flag' => 'flags/dz.png'),
  '106'=>array('name' => 'Andorra','short' => 'AD','css_flag' => 'flags/ad.png'),
  '107'=>array('name' => 'Angola','short' => 'AO','css_flag' => 'flags/ao.png'),
  '109'=>array('name' => 'Argentina','short' => 'AR','css_flag' => 'flags/ar.png'),
  '110'=>array('name' => 'Armenia','short' => 'AM','css_flag' => 'flags/am.png'),
  '111'=>array('name' => 'Australia','short' => 'AU','css_flag' => 'flags/au.png'),
  '112'=>array('name' => 'Austria','short' => 'AT','css_flag' => 'flags/at.png'),
  '113'=>array('name' => 'Azerbaijan','short' => 'AZ','css_flag' => 'flags/az.png')
);
 
echo $cssflags['106']["name"];
?>

De esta manera, no tienes que recorrer el array en busca del term_id

Coméntanos si te sirve, ok?
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

ayudita con un array de paises

Publicado por Virginia (7 intervenciones) el 22/05/2015 11:53:29
Hola Xve gracias por la respuesta, voy a modificarlo entonces y probar con eso, aunque todavia no me queda claro como aplicarlo o sea, viste que segun el usuario sale un numero que deberia traducirse en un pais,
en la ultima linea de codigo que escribiste me estaria mostrando el nombre de Andorra pero como hago para que funcione automaticamente segun el usuario, deberia repetir esta linea para cada pais?

saludos :)
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 xve

ayudita con un array de paises

Publicado por xve (5515 intervenciones) el 23/05/2015 18:40:06
Hola virginia, cambiando el '106' por la variable del usuario seria suficiente...

1
2
$usuario='106';
echo $cssflags[$usuario]["name"];

De esta manera, te vale para cualquier usuario...
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

ayudita con un array de paises

Publicado por Virginia (7 intervenciones) el 24/05/2015 04:03:43
hayyy muchas gracias funciona justo como yo queria , millon de gracias
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