Foros del Web » Programando para Internet » PHP »

array en mysql

Estas en el tema de array en mysql en el foro de PHP en Foros del Web. Hola a todos, mi problema es el siguiente: Intento construir un cuenta imagenes, de tal forma que el id hace referencia a la imagen y ...
  #1 (permalink)  
Antiguo 13/09/2009, 09:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
array en mysql

Hola a todos, mi problema es el siguiente:

Intento construir un cuenta imagenes, de tal forma que el id hace referencia a la imagen y los campos hacen referencia a la web donde estan ubicadas.

Tengo una tabla llamada "contadores" de esta forma:
id--localizacion--espacio--geografia
1--10--15--20
2--12--13--25
3--15--44--30

Haciendo esta consulta obtendré las veces que se contaron las imagenes en la pagina "localizacion":
- Imagen 1: 10 veces
- Imagen 2: 12 veces
- Imagen 3: 15 veces
Código PHP:
$consulta"SELECT `localizacion` FROM `contadores` ";
$consultamysql_db_query($base,$contadores) or die (mysql_error());
$arraymysql_fetch_array($consulta); 
El array imagino que haya guardado los valores (10, 12, 15)

Mi pregunta es: ¿Cómo llamo a cada valor para situarlo donde crea conveniente?
Código:
Por ejemplo:
Imagen 1: vista 10 veces
Imagen 3: vista 15 veces
Imagen 2: vista 12 veces
He intentado:
Código PHP:
echo "Imagen 1 ".$array[0];
echo 
"<br>";
echo 
"Imagen 2 ".$array[1]; 
Pero mi resultado es:
Código:
Imagen 1:
Imagen 2:
¿Cómo puedo hacerlo? Gracias de antemano
  #2 (permalink)  
Antiguo 13/09/2009, 09:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: array en mysql

Creo que estas superponiedo el valor de $array:

Cita:
$array= mysql_fetch_array($consulta);
Intenta asi:

$array[]= mysql_fetch_array($consulta);

Y en todo caso asegurate de que tenga contenidos haciendo un print_r($array);
  #3 (permalink)  
Antiguo 13/09/2009, 10:34
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: array en mysql

Hola, gracias por responder.
Te comento:

Escribo esto:
Código php:
Ver original
  1. $consulta= "SELECT `localizacion` FROM `contadores` ";
  2. $consulta= mysql_db_query($base,$contadores) or die (mysql_error());
  3. $array[]= mysql_fetch_array($consulta);
  4. $con=mysql_close($con);
  5.  
  6.      echo "dato 2: ".$array[1];
  7.      echo "<br>";
  8.      echo "dato 1: ".$array[0];
  9.  
  10. print_r($array);

Y obtengo esto:

Cita:
dato 2:
dato 1: ArrayArray ( [0] => Array ( [0] => 10 [localizacion] => 10 ) )
Lo que busco es que ponga esto:
Cita:
dato 2: 12
dato 1: 10
Alguna ayuda?? Gracias
  #4 (permalink)  
Antiguo 13/09/2009, 10:59
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: array en mysql

Usa next($array) para recorrer a otro array, o bien usas un bucle si es que estas intentando ver resultados de diferentes contadores.
Lee en la documentación de php mysql_db_query, apartir del PHP 6 ésta función desaparecerá, usa mysql_query
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #5 (permalink)  
Antiguo 13/09/2009, 12:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: array en mysql

La opción de utilizar mysql_query no me convence porque pretendo realizar una única llamada a la base de datos para obtener todos los valores que necesito.

El problema radica en que no sé qué hago mal con los arrays o si es correcto utilizar mysql_fetch_array.

...y lo del bucle parece interesante, pero ¿cómo se utiliza?

Si quiero mostrar
Cita:
Imagen 2: vista 12 veces
Imagen 3: vista 15 veces
Imagen 1: vista 10 veces
Gracias por el interes, un ejemplo me vendría bien.
  #6 (permalink)  
Antiguo 13/09/2009, 13:36
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: array en mysql

Código PHP:
Ver original
  1. $consulta= "SELECT `localizacion` FROM `contadores` ";
  2. $consulta= mysql_query($base,$contadores) or die (mysql_error());
  3. while($array = mysql_fetch_array($consulta)){
  4.  
  5.  
  6.      echo "dato ".$array[0].": ".$array[1];
  7.      echo "<br>";
  8.  }
  9. $con=mysql_close($con);
  #7 (permalink)  
Antiguo 13/09/2009, 17:06
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: array en mysql

Gracias esdesign por tu interes en responder pero tu código me tira este error:
Código:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' on line 8
La línea 8 es:
Código:
$consulta= mysql_query($base,$contadores) or die (mysql_error());
Interpreto que quieres decir esto:
Código php:
Ver original
  1. $condicion = "SELECT `localizacion` FROM `contadores`";
  2. $consulta = mysql_db_query($base,$condicion) or die (mysql_error());
  3.  
  4. while($array = mysql_fetch_array($consulta))
  5.  {
  6.      echo "dato ".$array[0].": ".$array[1];
  7.      echo "<br>";
  8.  }
  9. $con=mysql_close($con);

Pero este código me hace un listado con todos los datos del campo localizacion y me aparece así:
Código:
dato 10: 
dato 104: 
dato 102: 
dato 102: 
dato 100: 
dato 100: 
dato 101:
Lo que pretendo es utilizar cada dato en diferentes sitios de la web, no que me haga un listado.
No sé si me he explicado.

Mi intención es hacer una única consulta a la base de datos, tener los datos en un array y luego ir utilizandolos de forma $array[1] $array[0] $array[2] en diferentes sitios de la web.

Alguien me puede ayudar?? Gracias.
  #8 (permalink)  
Antiguo 14/09/2009, 03:25
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: array en mysql

Código PHP:
Ver original
  1. $condicion = "SELECT `localizacion` FROM `contadores`";
  2. $consulta = mysql_db_query($base,$condicion) or die (mysql_error());
  3.  
  4. while($array = mysql_fetch_array($consulta))
  5.  {
  6.      $objeto[$array[0]] = "dato ".$array[0].": ".$array[1];
  7.  }
  8. $con=mysql_close($con);
  9.  
  10. echo $objeto[1] . "<br>";
  11. echo $objeto[2] . "<br>";
  12. echo $objeto[3] . "<br>";
  #9 (permalink)  
Antiguo 14/09/2009, 05:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: array en mysql

Gracias por responder, pero sigue sin funcionar

El código me tira este error:
Código:
¡Objeto no encontrado!
Error 404 
No se si está en relación con la línea 6 de tu código
Código PHP:
$objeto[$array[0]] = "dato ".$array[0].": ".$array[1]; 
No entiendo muy bien lo de "dato" ahí

Alguna solución??
Gracias
  #10 (permalink)  
Antiguo 14/09/2009, 06:07
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: array en mysql

Vamos a ver , este tema de maciado largo para una simple respuesta.




Primera manera utilizando solo un campo de la tabla
Código PHP:
Ver original
  1. $condicion = "SELECT localizacion FROM contadores";
  2. $consulta = mysql_query($condicion) or die (mysql_error());
  3.  
  4. while($array = mysql_fetch_array($consulta))
  5.  {
  6.     $data[] = $array[0];
  7.    
  8.  }
  9.  
  10. // Ejemplo I
  11. echo "Imagen 1:".$data[0]."<br>";
  12. echo "Imagen 2:".$data[1]."<br>";
  13. echo "Imagen 3:".$data[2]."<br>";
  14.  
  15.  
  16. // Ejemplo II
  17. echo "Imagen 1:".$data[0]."<br>";
  18. echo "Imagen 2:".$data[2]."<br>";
  19. echo "Imagen 3:".$data[1]."<br>";
  20.  
  21.  
  22. // Ejemplo III
  23. echo "Imagen 1:".$data[2]."<br>";
  24. echo "Imagen 2:".$data[0]."<br>";
  25. echo "Imagen 3:".$data[1]."<br>";


Segunda forma utilizando dos campos de la tabla.

Código PHP:
Ver original
  1. $condicion = "SELECT localizacion,espacio FROM contadores";
  2. $consulta = mysql_query($condicion) or die (mysql_error());
  3.  
  4. while($array = mysql_fetch_array($consulta))
  5.  {
  6.     $data[0][] = $array[0];
  7.     $data[1][] = $array[1];
  8.    
  9.  }
  10.  
  11. // Localiacion
  12. echo "Imagen 1:".$data[0][0]."<br>";
  13. echo "Imagen 2:".$data[0][2]."<br>";
  14. echo "Imagen 3:".$data[0][1]."<br>";
  15.  
  16. //Espacio
  17. echo "Imagen 1:".$data[1][0]."<br>";
  18. echo "Imagen 2:".$data[1][2]."<br>";
  19. echo "Imagen 3:".$data[1][1]."<br>";
  #11 (permalink)  
Antiguo 14/09/2009, 06:46
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: array en mysql

Muchiiiiiiiisimas gracias gjx2, me has entendido a la perfección!!!

¡¡Funciona correctamente!!!


Estaba ya dudando si mi exposición era adecuada.

Gracias también a todos los que os habeis tomado la molestia en leerlo y responder.
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 22:07.