Foros del Web » Programando para Internet » PHP »

Array de consulta

Estas en el tema de Array de consulta en el foro de PHP en Foros del Web. Hola buenas tardes tengo una duda con la sintaxis de un array, haber quien me puede echar una mano ya que ando un poco oxidado ...
  #1 (permalink)  
Antiguo 28/02/2012, 12:08
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Array de consulta

Hola buenas tardes tengo una duda con la sintaxis de un array, haber quien me puede echar una mano ya que ando un poco oxidado en esto.


Creo mi arreglo:

Código PHP:
    $iconMarker=array();

    
$iconMarker["icon.png"]="1";
    
$iconMarker["icon2.png"]="2";
    
$iconMarker["icon3.png"]="3"
Como veran el arreglo va a cambiar iconos dependiendo del numero, ahora bien el numero lo tengo que tomar de una base de datos, una de mis preguntas es: como ligo esta consulta ami arreglo? el numero lo tomo de una columna llamada: "category_id" y estoy llamando los valores de esta forma:

Código PHP:
$iconMarker['category_id'

Y lo imprimo de esta forma:


Código PHP:
            $maps->set_icon('{
                "image"        : "img/$iconMarker"
            }'
); 

El problema que tengo es como llamar los valores para integrarlos en el arreglo y asignarle la imagen que quiero en cada una.


Espero alguien me pueda dar una mano, mil gracias.
  #2 (permalink)  
Antiguo 28/02/2012, 12:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Array de consulta

Creo que está usando al revés los arrays, se supone que debes organizarlos mediante clave y valor.

Según tu ejemplo estás usando el valor como clave.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/02/2012, 12:14
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Array de consulta

jaja gracias, por eso decia yo que ando oxidado jaja, pero bueno escribiendolo
Código PHP:
Ver original
  1. $iconMarker["1"]="icon.png"; ...
como hago para integrar la consulta?
  #4 (permalink)  
Antiguo 28/02/2012, 12:18
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Array de consulta

Claro es como dice pateketrueke, estas nombrando mal los array. Tendiras que hacerlo asi mas bien.

$iconMarker=array();

$iconMarker[0]="icon.png";
$iconMarker[1]="icon2.png";
$iconMarker[2]="icon3.png";

for($A=0;$iconMarker[$A]!="";$A++){
echo $iconMarker[$A];
}
  #5 (permalink)  
Antiguo 28/02/2012, 12:21
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Array de consulta

Ah ok ok muchas gracias a ambos, lo intentare y ya comento, gracias! buen dia!
  #6 (permalink)  
Antiguo 28/02/2012, 12:42
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Array de consulta

Upss.. no aun no me sale :s estoy usando estas linesas en el array:

Código PHP:
Ver original
  1. $iconMarker=array();
  2.  
  3.     $iconMarker["1"]="icon.png";
  4.     $iconMarker["2"]="icon2.png";
  5.     $iconMarker["3"]="icon3.png";
  6.     $iconMarker["4"]="icon4.png";
  7.     $iconMarker["5"]="icon5.png";
  8.    
  9.     for($A=0;$iconMarker[$A]!="";$A++){
  10.         echo $iconMarker[$A];
  11.     }
  12.    
  13.     /*$iconMarker['category_id'];*/
  14.     var = $iconMarker['category_id'];

y para imprimirlo estas:

Código PHP:
Ver original
  1. if($_GET['defaultMarker'] == 0)
  2.         {
  3.             $maps->set_icon('{
  4.                 "image"     : "img/$iconMarker"
  5.             }');
  6.         }

Supongo que el for lo tendria que eliminar
  #7 (permalink)  
Antiguo 28/02/2012, 12:58
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Array de consulta

No vamos a ver, el for, es un ejempl que yo te he puesto para que veas cmo se llama a los arrays y como se muestra en patalla y lo entiendas.

para empezar, debes quitarle las comillas a las llaves de los arrays han de quedarte asi.

Código PHP:

    $iconMarker
=array();
     
        
$iconMarker[0]="icon.png";
        
$iconMarker[1]="icon2.png";
        
$iconMarker[2]="icon3.png";
        
$iconMarker[3]="icon4.png";
        
$iconMarker[4]="icon5.png";
       

//Con el for unicamente lo imprimes en pantalla, con un salto de linea cada uno. ES UN EJEMPLO

        
for($A=0;$iconMarker[$A]!="";$A++){
            echo 
$iconMarker[$A]."<br>";
        } 
Yo no entiendo esto:


/*$iconMarker['category_id'];*/
var = $iconMarker['category_id'];

'category_id' no es una clave asignada, por tanto no te va a dar nada.

para llamar al array as de decir a cual de ellos quieres llamar, en ete caso mostraria ICON.PNG, que equivale a $iconMarker[0].

Código PHP:

    
if($_GET['defaultMarker'] == 0)
            {
                
$maps->set_icon('{
                    "image"     : "img/'
.$iconMarker[0].'"
                }'
);
            } 
Si las quieres asignar todas.

Código PHP:


 
if($_GET['defaultMarker'] == 0){
             for(
$A=0;$iconMarker[$A]!="";$A++){
                     
$maps->set_icon('{
                          "image"     : "img/'
.$iconMarker[$A].'"
                     }'
);
          }

  #8 (permalink)  
Antiguo 28/02/2012, 13:05
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Array de consulta

el indice category_id no existe en tu arreglo por eso es que no te muestra nada, teniendo esto
Código PHP:
Ver original
  1. $iconMarker=array();
  2. $iconMarker["1"]="icon.png";
  3. $iconMarker["2"]="icon2.png";
  4. $iconMarker["3"]="icon3.png";
  5. $iconMarker["4"]="icon4.png";
  6. $iconMarker["5"]="icon5.png";
que es lo mismo que tengas esto
Código PHP:
Ver original
  1. $iconMarker=array(1=>"icon.png",2=>"icon2.png",3=>"icon3.png",4=>"icon4.png",5=>"icon5.png");
para que puedas obtener un nombre de icono debes usar algo así
Código PHP:
Ver original
  1. $category_id=1;//este debe tener el valor del indice a buscar en el array
  2. if($_GET['defaultMarker'] == 0)
  3.  {
  4.  $maps->set_icon('{
  5. "image"  : "img/'.$iconMarker[$category_id].'"
  6. }');
  7. }
espero y te sirva.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #9 (permalink)  
Antiguo 28/02/2012, 13:08
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Array de consulta

Ok ahora comprendo lo del for, pero aun me queda la duda como asigno de la consulta el valor de la columna "category_id" para asignar la imagen que corresponde, Por eso puse lo de
Código PHP:
Ver original
  1. var = $iconMarker['category_id'];
pero creo que no es asi ..
  #10 (permalink)  
Antiguo 28/02/2012, 14:02
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Array de consulta

Asi seguro que no es, tendrias que poner mas codigo, para saber exactamente, como coges la foto que corresponda par mostraral. Eso que pones noe s nada. Sencillamente, estás definiendo la varibale del array $iconMarker['category_id']; Pero no le estas dando ningun valor.

No se como decides cual es la imagen que quieres mostrar, pero la forma de mostrarla es la que te puse arriba. Si pones mas codigo quizas pueda entenderlo mejor. Ten encuenta que tu sabes de que hablas, porque lo has escrito tu, pero yo no se del todo que es lo que intentas hacer.

Yo lo mostraria asi.

Si la foto que corresponde mostrar fuera "icon3.png"

Código PHP:

$imgMostrar 
"icon3.png";

 
$iconMarker=array();
     
 
$iconMarker[0]="icon.png";
 
$iconMarker[1]="icon2.png";
 
$iconMarker[2]="icon3.png";
 
$iconMarker[3]="icon4.png";
 
$iconMarker[4]="icon5.png";

for(
$A=0;$iconMarker[$A]!="";$A++){
    if(
$iconMarker[$A] == $imgMostrar){
        break;
    }
}

if(
$_GET['defaultMarker'] == 0){
   echo 
'<img src="'.$iconMarker[$A].'" width="50px" height="50px" />';

De este modo, el bucle for se cortaria en cuanto coincidies con la imagen que hay que mostrar quedando el valor de $A en "2".

Y si $_GET['defaultMarker'] fuese igual a cero, se mostraria la imagen en pantalla.
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 16:20.