Foros del Web » Programando para Internet » PHP »

Como meter registros de una consulta mysql en arrays

Estas en el tema de Como meter registros de una consulta mysql en arrays en el foro de PHP en Foros del Web. Hola amigos, verán esta es parte de mi duda pasada. Lo que pasa es que necesito meter todos los valores de una consulta en arrays ...
  #1 (permalink)  
Antiguo 06/05/2010, 14:07
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Como meter registros de una consulta mysql en arrays

Hola amigos, verán esta es parte de mi duda pasada.

Lo que pasa es que necesito meter todos los valores de una consulta en arrays para que los pueda mostrar en cualquier sitio de mi documento ejemplo

Mi base de datos tiene 2 campos y quiero consultar a 2 filas

Base de datos
_______________________
| id | nombre | fecha
-------------------------------------
| 1 | Usuario 1 | 2010-05-05
-------------------------------------
| 2 | Usuario 2 | 2010-05-04
-------------------------------------

Entonces realizo la consulta de esta manera

Código SQL:
Ver original
  1. SELECT nombre,fecha FROM users WHERE fecha=NOW() LIMIT 2 ORDER BY id DESC

Pero me gustaría tener los resultados obtenidos como si estuviera haciendo esto:

Código PHP:
Ver original
  1. $row = array('1','Usuario 1','2010-05-05','2','Usuario 2','2010-05-04');

Para que pueda llamar al valor del array correspondiente en cualquier sito del documento

Por ejemplo

Código PHP:
Ver original
  1. $array[0]; //Me imprima 1
  2.  $array[1]; //Me imprima Usuario 1
  3.  $array[2]; //Me imprima 2010-05-05
  4.  
  5.  $array[3]; //Me imprima 2
  6.  $array[4]; //Me imprima Usuario 2
  7.  $array[5]; //Me imprima 2010-05-04


Como puedo lograr este resulta.
Agradezco mucho su atencia.
Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 06/05/2010, 14:22
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Como meter registros de una consulta mysql en arrays

con mysql_fetch_array puedes
http://php.net/manual/es/function.mysql-fetch-array.php

ejemplo corto

$consulta =mysql_query("SELECT nombre,fecha FROM users WHERE fecha=NOW() LIMIT 2 ORDER BY id DESC",$db);

$row = mysql_fetch_array($consulta));

y entonces despues para usar los valores los usas con

$row['nombre_campo']; en este caso sera $row['nombre']

si la consulta te da muchos resultados tienes que hacer un while

while($row=mysql_fetch_array(...)){

y aca trabajas con los valores, y los puedes ir guardando dentro de otro arreglo arreglo

}

Última edición por Death_Empire; 06/05/2010 a las 14:27
  #3 (permalink)  
Antiguo 06/05/2010, 14:29
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Como meter registros de una consulta mysql en arrays

Jeje acabo de recordar por que razon no me funciona eso tan sencillo.

Lo que pasa es que ando metiendo todo en un while =S

Código PHP:
Ver original
  1. //Yo trabajo con esto
  2. while($row=mysql_fetch_array($result, MYSQL_BOTH) ){
  3.  
  4.    $row[0];
  5.    $row[1];
  6.  
  7. }

Pero se me habia olvidado quitar ese while. jejeje

Muchas gracias =)
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 06/05/2010, 23:53
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Todavía nadie ha podido ayudarme en mi consulta Mysql.

Hola amigos.

Verán aún no me han podido ayudar en mi consulta.
Lo que estoy tratando de hacer es meter en arrays los resultados de mi consulta.


Código PHP:
Ver original
  1. $sql = "SELECT * FROM user WHERE registered='$date' LIMIT 5 ORDER BY id DESC";
  2. $query = mysql_query($sql);
  3.  
  4. //???

Lo que deseo hacer es mostrar todas las columnas y todas las filas que correspondan a esa consulta en arrays, para que pueda utilizarlas en cualquier parte del documento.

Busco Algo parecido como lo que se logra con:

Código PHP:
Ver original
  1. $row = array('valor 1','Valor 2', 'Valor 3', 'Valor 4');
  2.  
  3. $row[0]; //Imprimer valor 1
  4. $row[1]; //Imprimer valor 2
  5. $row[2]; //Imprimer valor 3
  6. $row[3]; //Imprimer valor 4


Como puedo hacer esto.

P.D: Ya me dijeron que con mysql_fetch_array, luego que con mysql_fetch_row. Pero se pudo, será porque no me explicaron de que manera debería de realizarlo??.

No puedo meter eso en un while... De que manera puedo hacerlo.

Muchisimas gracias amigos ;)
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #5 (permalink)  
Antiguo 07/05/2010, 00:16
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Todavía nadie ha podido ayudarme en mi consulta Mysql.

Hola amigos.

Ya lo he solucionado. Quien sabe porque razón se me ocurrio pero ya tengo la solicion.

Verán:

Código PHP:
Ver original
  1. $sql = "SELECT * FROM user WHERE registered='$date' LIMIT 5 ORDER BY id DESC";
  2. $query = mysql_query($sql);
  3.  
  4. while($row=mysql_fetch_array($query)){
  5.  
  6.     $array1[] = $row['username'];
  7.     $array2[] = $row['password'];
  8. }


Y ahora podemos imprimir cuantas columnas y filas tengamos que cumplan con los criterios de la consulta. Siempre especificando $array1[0] como el primer valor para esa columna y fila y seguido de $arra1[1] para el segundo valor para la misma columna pero fila 2 y así concecutivamente.

Ahora un ejemplo

Supongamos que tenemos la siguiente base de datos

users
---------------------------------------
+ id + username + date +
---------------------------------------
| 1 | usuario 1 | fecha 1 |
---------------------------------------
| 2 | usuario 2 | fecha 2 |
---------------------------------------

Código PHP:
Ver original
  1. $sql = "SELECT * FROM users ORDER by id DESC";
  2. $query = mysql_query($sql);
  3.  
  4. while($row=mysql_fetch_array($query)){
  5.      $username[] = $row['username'];
  6.      $date[] = $row['date'];
  7. $id[] = $row['id'];
  8.  
  9. }
  10.  
  11. echo $username[0]; //Imprimer Usuario 2
  12. echo $username[1]; //Imprimer Usuario 1
  13. echo $username[2]; //No imprime nada porque sale de los criterios de busqueda
  14.  
  15. echo $id[0]; //Imprimer 2
  16. echo $id[0]; //Imprime 1
  17.  
  18. echo $date[0]; //Imprimer fecha 2
  19. echo $date[1]; //Imprimer fecha 1


Espero que a alguien le sirva.
Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Etiquetas: arrays, mysql, registros
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:18.