Foros del Web » Programando para Internet » PHP »

Ayuda con array

Estas en el tema de Ayuda con array en el foro de PHP en Foros del Web. Amigos, será que me pueden ayudar, no sé que estoy haciendo mal, miren tengo lo siguiente: Código PHP: $country  = array( "UK"  =>  "United Kingdom" ,  "USA"  ...
  #1 (permalink)  
Antiguo 23/06/2009, 15:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Ayuda con array

Amigos, será que me pueden ayudar, no sé que estoy haciendo mal, miren tengo lo siguiente:

Código PHP:
$country = array("UK" => "United Kingdom""USA" => "United States""USA" => "Albania",  "USA" => "Algeria""EU" => "Andorra""USA" => "Angola""USA" => "Antigua and Barbuda""USA" => "Argentina""USA" => "Armenia""USA" => "Australia""EU" => "Austria""USA" => "Azerbaijan""USA" => "Bahamas""USA" => "Bahrain""USA" => "Bangladesh""USA" => "Barbados""USA" => "Belarus""EU" => "Belgium""USA" => "Belize""USA" => "Bolivia""USA" => "Bosnia and Herzegovina""USA" => "Brazil""USA" => "Brunei""USA" => "Bulgaria""USA" => "Burkina Faso""USA" => "Burma""USA" => "Cambodia""USA" => "Cameroon""USA" => "Canada""USA" => "Cape Verde""USA" => "Chad""USA" => "Chile""USA" => "China""USA" => "Colombia""USA" => "Costa Rica""USA" => "Croatia""USA" => "Cuba""EU" => "Cyprus""USA" => "Czech Republic""EU" => "Denmark""USA" => "Djibouti""USA" => "Dominica""USA" => "Dominican Republic""USA" => "Ecuador""USA" => "Egypt""USA" => "El Salvador""USA" => "Equatorial Guinea""USA" => "Eritrea""USA" => "Estonia""USA" => "Ethiopia""USA" => "Fiji""EU" => "Finland""EU" => "France""USA" => "Gabon""USA" => "Georgia""EU" => "Germany""USA" => "Ghana""EU" => "Greece""" => "Greenland""USA" => "Grenada""USA" => "Guatemala""USA" => "Guinea""USA" => "Guinea-Bissau""USA" => "Guyana""USA" => "Haiti""USA" => "Honduras""USA" => "Hungary""USA" => "Iceland""USA" => "India""USA" => "Indonesia""USA" => "Iran""USA" => "Iraq""EU" => "Ireland""USA" => "Israel""EU" => "Italy""USA" => "Jamaica""USA" => "Japan""USA" => "Jordan""USA" => "Kazakhstan""USA" => "Kenya""USA" => "Kiribati""USA" => "Korea, South""USA" => "Kosovo""USA" => "Kuwait""USA" => "Kyrgyzstan""USA" => "Laos""USA" => "Latvia""USA" => "Lebanon""USA" => "Lesotho""USA" => "Liberia""USA" => "Libya""USA" => "Liechtenstein""USA" => "Lithuania""EU" => "Luxembourg""USA" => "Macedonia""USA" => "Madagascar""USA" => "Malawi""USA" => "Malaysia""USA" => "Mali""USA" => "Malta""USA" => "Marshall Islands""USA" => "Mauritania""USA" => "Mauritius""USA" => "Mexico""USA" => "Moldova""EU" => "Monaco""USA" => "Mongolia""EU" => "Montenegro""USA" => "Morocco""USA" => "Mozambique""USA" => "Namibia""USA" => "Nepal""EU" => "Netherlands""USA" => "New Zealand""USA" => "Nicaragua""EU" => "Norway""USA" => "Oman""USA" => "Pakistan""USA" => "Palau""USA" => "Panama""USA" => "Papua New Guinea""USA" => "Paraguay""USA" => "Peru""USA" => "Philippines""EU" => "Poland""EU" => "Portugal""USA" => "Qatar""USA" => "Romania""USA" => "Russia""USA" => "Saint Kitts and Nevis""USA" => "Saint Lucia""USA" => "Saint Vincent and the Grenadines""USA" => "Samoa""EU" => "San Marino""USA" => "Santo Tome and Principe""USA" => "Saudi Arabia""USA" => "Serbia""USA" => "Seychelles""USA" => "Singapore""USA" => "Slovakia""USA" => "Slovenia""USA" => "Solomon Islands""USA" => "South Africa""EU" => "Spain""USA" => "Sri Lanka""USA" => "Sudan""USA" => "Suriname""USA" => "Swaziland""EU" => "Sweden""EU" => "Switzerland""USA" => "Syria""USA" => "Tajikistan""USA" => "Tanzania""USA" => "Thailand""USA" => "Timor-Leste""USA" => "Togo""USA" => "Tonga""USA" => "Trinidad and Tobago""USA" => "Tunisia""USA" => "Turkey""USA" => "Turkmenistan""USA" => "Tuvalu""USA" => "Uganda""USA" => "Ukraine""USA" => "United Arab Emirates""USA" => "Uruguay""USA" => "Uzbekistan""USA" => "Venezuela""USA" => "Vietnam""USA" => "Yemen");
                    if (
$_POST['country'] == $country['UK']) {
                    
$image 'All funds are in <strong>&pound;</strong> Pounds <img src="images/UKflag.jpg" align="absmiddle" title="All funds are in &pound; Pounds" />';
                    } elseif (
$_POST['country'] == $country['EU']) {
                    
$image 'All funds are in <strong>&euro;</strong> Euros <img src="images/EUflag.jpg" align="absmiddle" title="All funds are in &euro; Euros" />';
                    } else {
                    
$image 'All funds are in <strong>$</strong> US Dollars <img src="images/USAflag.jpg" align="absmiddle" title="All funds are in $ US Dollars" />'; }
                    echo 
$image
pero me sale en EU la bandera de USA

espero me ayuden

Gracias
  #2 (permalink)  
Antiguo 23/06/2009, 16:15
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda con array

Quizá nombraste mal las imágenes
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 23/06/2009, 16:15
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ayuda con array

Claro que te sale la bandera de Usa.

Por que
Esto nunca se da

Código PHP:
elseif ($_POST['country'] == $country['EU']) 
Por que tambien tu respite mucho El indice de esta matrix EU y el coje el ultimo valor

prueba con

Código PHP:
$_POST['country']="Switzerland"
Para que veas.
  #4 (permalink)  
Antiguo 23/06/2009, 16:17
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Ayuda con array

no lo puedo hacer porque imaginate entonces lo largo que sería nombrar a todos los paises con elseif???

no he nombrado mal las imagenes de hecho si hago click en switzerland me sale EU jajajajaja, pero no se porque el resto no???
  #5 (permalink)  
Antiguo 23/06/2009, 16:23
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ayuda con array

Intenta con

Código PHP:
<?php  

$_POST
['country']="United Kingdom";

$country = array("UK" => "United Kingdom""USA" => "United States""USA" => "Albania",  "USA" => "Algeria""EU" => "Andorra""USA" => "Angola""USA" => "Antigua and Barbuda""USA" => "Argentina""USA" => "Armenia""USA" => "Australia""EU" => "Austria""USA" => "Azerbaijan""USA" => "Bahamas""USA" => "Bahrain""USA" => "Bangladesh""USA" => "Barbados""USA" => "Belarus""EU" => "Belgium""USA" => "Belize""USA" => "Bolivia""USA" => "Bosnia and Herzegovina""USA" => "Brazil""USA" => "Brunei""USA" => "Bulgaria""USA" => "Burkina Faso""USA" => "Burma""USA" => "Cambodia""USA" => "Cameroon""USA" => "Canada""USA" => "Cape Verde""USA" => "Chad""USA" => "Chile""USA" => "China""USA" => "Colombia""USA" => "Costa Rica""USA" => "Croatia""USA" => "Cuba""EU" => "Cyprus""USA" => "Czech Republic""EU" => "Denmark""USA" => "Djibouti""USA" => "Dominica""USA" => "Dominican Republic""USA" => "Ecuador""USA" => "Egypt""USA" => "El Salvador""USA" => "Equatorial Guinea""USA" => "Eritrea""USA" => "Estonia""USA" => "Ethiopia""USA" => "Fiji""EU" => "Finland""EU" => "France""USA" => "Gabon""USA" => "Georgia""EU" => "Germany""USA" => "Ghana""EU" => "Greece""" => "Greenland""USA" => "Grenada""USA" => "Guatemala""USA" => "Guinea""USA" => "Guinea-Bissau""USA" => "Guyana""USA" => "Haiti""USA" => "Honduras""USA" => "Hungary""USA" => "Iceland""USA" => "India""USA" => "Indonesia""USA" => "Iran""USA" => "Iraq""EU" => "Ireland""USA" => "Israel""EU" => "Italy""USA" => "Jamaica""USA" => "Japan""USA" => "Jordan""USA" => "Kazakhstan""USA" => "Kenya""USA" => "Kiribati""USA" => "Korea, South""USA" => "Kosovo""USA" => "Kuwait""USA" => "Kyrgyzstan""USA" => "Laos""USA" => "Latvia""USA" => "Lebanon""USA" => "Lesotho""USA" => "Liberia""USA" => "Libya""USA" => "Liechtenstein""USA" => "Lithuania""EU" => "Luxembourg""USA" => "Macedonia""USA" => "Madagascar""USA" => "Malawi""USA" => "Malaysia""USA" => "Mali""USA" => "Malta""USA" => "Marshall Islands""USA" => "Mauritania""USA" => "Mauritius""USA" => "Mexico""USA" => "Moldova""EU" => "Monaco""USA" => "Mongolia""EU" => "Montenegro""USA" => "Morocco""USA" => "Mozambique""USA" => "Namibia""USA" => "Nepal""EU" => "Netherlands""USA" => "New Zealand""USA" => "Nicaragua""EU" => "Norway""USA" => "Oman""USA" => "Pakistan""USA" => "Palau""USA" => "Panama""USA" => "Papua New Guinea""USA" => "Paraguay""USA" => "Peru""USA" => "Philippines""EU" => "Poland""EU" => "Portugal""USA" => "Qatar""USA" => "Romania""USA" => "Russia""USA" => "Saint Kitts and Nevis""USA" => "Saint Lucia""USA" => "Saint Vincent and the Grenadines""USA" => "Samoa""EU" => "San Marino""USA" => "Santo Tome and Principe""USA" => "Saudi Arabia""USA" => "Serbia""USA" => "Seychelles""USA" => "Singapore""USA" => "Slovakia""USA" => "Slovenia""USA" => "Solomon Islands""USA" => "South Africa""EU" => "Spain""USA" => "Sri Lanka""USA" => "Sudan""USA" => "Suriname""USA" => "Swaziland""EU" => "Sweden""EU" => "Switzerland""USA" => "Syria""USA" => "Tajikistan""USA" => "Tanzania""USA" => "Thailand""USA" => "Timor-Leste""USA" => "Togo""USA" => "Tonga""USA" => "Trinidad and Tobago""USA" => "Tunisia""USA" => "Turkey""USA" => "Turkmenistan""USA" => "Tuvalu""USA" => "Uganda""USA" => "Ukraine""USA" => "United Arab Emirates""USA" => "Uruguay""USA" => "Uzbekistan""USA" => "Venezuela""USA" => "Vietnam""USA" => "Yemen"); 

foreach(
$country as $row => $field){

if(
$_POST['country'] == $field){
 
$image 'All funds are in <strong>&pound;</strong> Pounds <img src="images/"'.$row.'flag.jpg" align="absmiddle" title="All funds are in &pound; Pounds" />'

}


}
echo 
$image;
           
?>
  #6 (permalink)  
Antiguo 23/06/2009, 16:27
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
nop, nada, sale siempre la misma cosa, UK pounds pero sin bandera :S

me preguntaba. Si hago:

Código PHP:
$country['UK'] = "United Kingdom";
$country['EU'] = "Andorra, Austria, etc etc"//nombrar todos los paises que quiero salgan con la bandera de la union europea
$country['USA']  = "United States, Algeria"//nombrar todos los paises que quiero salgan con la bandera de Estados unidos 
Funiconaría??

no, lo intenté y no funciona, que hagooooo???, estoy desesperado, alguien me podria ayudar con esto??

Última edición por GatorV; 23/06/2009 a las 18:36
  #7 (permalink)  
Antiguo 23/06/2009, 17:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda con array

Fijate en tu clausula ELSE, si ninguna de las 2 condiciones anterior se da, entonces imprimes la bandera de USA.
  #8 (permalink)  
Antiguo 23/06/2009, 17:04
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda con array

Código PHP:
$country = array(
     
"USA" => array(
              
"PaisUSA1",
              
"PaisUSA2"
      
),
     
"EU" => array(
              
"PaisEU1",
              
"PaisEU2"
       
),
      
"ETC" => array(
              
"PaisETC1",
              
"PaisETC2"
       
)
);

$countries_keys array_keys($country);
foreach(
$countries_keys as $c)
{
          if(
$c == $_POST['country'])
          {
               foreach(
$country[$c] as $cc)
               {
                       echo 
"Paises bla bla bla " $cc "<img src=\"".$c."flag.jpg\"><br />";
               }
          }

Creo que eso debería funcionar. Lo que hace es motrar todos los países de una categoría seleccionada, es decir, si seleccionas "USA" mostrará todos los países que pertenezcan a la categoría USA. No es exactamente lo que pides, pero podría darte una idea D:

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 23/06/2009, 17:15
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
pues no, no me sale ningun mensaje de todas manera es muy buena tu idea, y muy ingeniosa, pero algo estioy haciendo mal, mira:

Código PHP:
$country = array(
     
"USA" => array(
              
"United States""Albania""Algeria""Angola""Antigua and Barbuda""Argentina""Armenia""Australia""Azerbaijan""Bahamas""Bahrain""Bangladesh""Barbados""Belarus""Belize""Bolivia""Bosnia and Herzegovina""Brazil""Brunei""Bulgaria""Burkina Faso""Burma""Cambodia""Cameroon""Canada""Cape Verde""Chad""Chile""China""Colombia""Costa Rica""Croatia""Cuba""Czech Republic""Djibouti""Dominica""Dominican Republic""Ecuador""Egypt""El Salvador""Equatorial Guinea""Eritrea""Estonia""Ethiopia""Fiji""Gabon""Georgia""Ghana""Greenland""Grenada""Guatemala""Guinea""Guinea-Bissau""Guyana""Haiti""Honduras""Hungary""Iceland""India""Indonesia""Iran""Iraq""Israel""Jamaica""Japan""Jordan""Kazakhstan""Kenya""Kiribati""Korea, South""Kosovo""Kuwait""Kyrgyzstan""Laos""Latvia""Lebanon""Lesotho""Liberia""Libya""Liechtenstein""Lithuania""Macedonia""Madagascar""Malawi""Malaysia""Mali""Malta""Marshall Islands""Mauritania""Mauritius""Mexico""Moldova""Mongolia""Morocco""Mozambique""Namibia""Nepal""New Zealand""Nicaragua""Oman""Pakistan""Palau""Panama""Papua New Guinea""Paraguay""Peru""Philippines""Qatar""Romania""Russia""Saint Kitts and Nevis""Saint Lucia""Saint Vincent and the Grenadines""Samoa""Santo Tome and Principe""Saudi Arabia""Serbia""Seychelles""Singapore""Slovakia""Slovenia""Solomon Islands""South Africa""Sri Lanka""Sudan""Suriname""Swaziland""Syria""Tajikistan""Tanzania""Thailand""Timor-Leste""Togo""Tonga""Trinidad and Tobago""Tunisia""Turkey""Turkmenistan""Tuvalu""Uganda""Ukraine""United Arab Emirates""Uruguay""Uzbekistan""Venezuela""Vietnam""Yemen"
      
),
     
"EU" => array(
              
"Andorra","Austria","Belgium","Finland","France","Germany","Denmark","Greece","Ireland","Italy","Luxembourg","Monaco","Montenegro","Netherlands","Norway","Poland","Portugal","San Marino","Spain","Sweden","Switzerland""Cyprus"
       
),
      
"UK" => array(
              
"United Kingdom"
       
)
);

$countries_keys array_keys($country);
foreach(
$countries_keys as $c)
{
          if(
$c == $_POST['country'])
          {
               foreach(
$country[$c] as $cc)
               {
                       echo 
"Paises bla bla bla " $cc "<img src='images/".$c."flag.jpg'><br />";
               }
          }

Cita:
Iniciado por Ronruby Ver Mensaje
Fijate en tu clausula ELSE, si ninguna de las 2 condiciones anterior se da, entonces imprimes la bandera de USA.

Claro porque si el nombre escogido de la lista no es = a
Código PHP:
$_POST['country'
, lo que quiero decir con eso es que si no es de EU ni UK pues imprimame como de USA, lo cual es la mayoría

Encontré la solución "Lo hice via BD", es mucho mas facil y menos codigo, pero queria ver si se podia con PHP, lo cual parece que no.

Solo queria agradecer a todos los que me ayudaron en el proceso.

Saludos

Última edición por GatorV; 23/06/2009 a las 19:05
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 12:16.