Foros del Web » Programando para Internet » PHP »

Ayuda organizar array.

Estas en el tema de Ayuda organizar array. en el foro de PHP en Foros del Web. Bueno, sucede que estoy haciendo un Manejador de consultas multiples y individuales, sucede que a la hora de que quiero extraer todos los datos de ...
  #1 (permalink)  
Antiguo 26/09/2010, 17:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 12 años
Puntos: 0
Ayuda organizar array.

Bueno, sucede que estoy haciendo un Manejador de consultas multiples y individuales, sucede que a la hora de que quiero extraer todos los datos de una columna me devuelve un array de esta manera:
Cita:
Array ( [0] => Array ( [nick] => hahhahah ) [1] => Array ( [nick] => 123 ) [2] => Array ( [time] => 1285280940 ) [3] => Array ( [time] => 1285281052 ) )
Lo que trato de hacer es que por ejemplo, donde las keys sean nick todas esten en un array, osea
Cita:
Array([0] => Array("hahhahah","123"))
Si necesitan revisar algo de la función de la clase, se las dejo aqui, aunque no deberian.
Código PHP:
    public function makeQuery($query) {
        
$mysqli = new mysqli($this->host$this->user$this->pass$this->db);
        if (
$mysqli->connect_error) die('Problemas al establecer la conexion.<br/>CODIGO DE ERROR:' $mysqli->connect_errno '<br/>Detalles:' $mysqli->connect_error);
        
$this->query $query;
        if (
$mysqli->multi_query($this->query)) {
            do {
                if (
$focux $mysqli->store_result()) {
                    while (
$mrfocux $focux->fetch_assoc()) {
                        
$datos[] = $mrfocux;
                    }
                    
$focux->close();
                }
            }
            while (
$mysqli->next_result());
            return 
$datos;
            
$mysqli->close();
        }
    }

  #2 (permalink)  
Antiguo 26/09/2010, 18:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 4 meses
Puntos: 1517
Respuesta: Ayuda organizar array.

Vas a tener que dentro del while hacer otro bucle para que recorra la variable mrfocux.
Código PHP:
Ver original
  1. while ($mrfocux = $focux->fetch_assoc()) {
  2.     foreach($mrfocuxd as $value){
  3.         $datos[] = $value;
  4.     }
  5. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/09/2010, 18:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 12 años
Puntos: 0
Respuesta: Ayuda organizar array.

Mil gracias, y si quiero por ejemplo hacer lo siguiente. Los datos de cada tabla se guarde en un array dentro de uno base, ejemplo:

Cita:
Array(nick => Array('Nick1','Nick2'), tiempo => Array('ala','lelo'));
Obligado la llave no se tiene que llamar nick, pueden tambien hacerlo sin eso, el punto es que queden asi.
  #4 (permalink)  
Antiguo 26/09/2010, 19:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 4 meses
Puntos: 1517
Respuesta: Ayuda organizar array.

Mientras recorres la base de datos, puedes ir ingresando los datos, algo así
Código PHP:
Ver original
  1. $datos = array();
  2. while ($mrfocux = $focux->fetch_assoc()) {
  3.     foreach($mrfocuxd as $key => $value){
  4.         $datos[$key][] = $value;
  5.     }
  6. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 26/09/2010, 19:50
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 12 años
Puntos: 0
Respuesta: Ayuda organizar array.

Genial, nose como agradecerte esto, aveces la respuesta es más fácil de lo que pensamos.

Por ultimo para finalizar necesito que me aclares una duda si puedes, sucede que me han dicho que no hay que inicializar el array, es decir que se puede hacer directo, sin hacer esto $datos = array();

Quisiera saber que consecuencías nos trae no inicializarlo y hacerlo directo?
  #6 (permalink)  
Antiguo 26/09/2010, 20:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 4 meses
Puntos: 1517
Respuesta: Ayuda organizar array.

En el caso de declararlos ninguna. Me refiero a:
Código PHP:
Ver original
  1. <?php
  2. $arr[] = 'foo';
  3. $arr[] = 'bar';
  4. var_dump($arr); //Imprime: array(2) { [0]=> string(3) "foo" [1]=> string(3) "bar" }
Pero es buena costumbre por si te encuentras en algún futuro con, por ejemplo, que quieras declarar algún bucle como foreach y no se le asigno algún valor, te encontrarás con un error, ejemplo
Código PHP:
Ver original
  1. <?php
  2. for($i=1; $i<1; $i++){
  3.     $arr[] = $i;
  4. }
  5. foreach($arr as $value){
  6.     echo $value;
  7. }
  8. /*
  9. Imprime en pantalla algo como
  10.  
  11. Notice: Undefined variable: arr in ....... on line 5
  12.  
  13. Warning: Invalid argument supplied for foreach() in ..... on line 5
  14. */
La razón es que el bucle no se cumple y nunca se asignó un valor a la variable. Por eso se debe iniciar, para evitar esos errores, entonces se debe declarar
Código PHP:
Ver original
  1. <?php
  2. $arr = array();
  3. for($i=1; $i<1; $i++){
  4.     $arr[] = $i;
  5. }
  6. foreach($arr as $value){
  7.     echo $value;
  8. }
  9. // No imprime nada en pantalla
Posiblemente en un futuro te encontrarás con este error, en especial con consultas a la base de datos que a veces no existe un valor conforme a la consulta. Te recomiendo que siempre inicies las variables.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: organizar
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:34.