Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/08/2008, 11:04
Avatar de Quest
Quest
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago
Mensajes: 129
Antigüedad: 22 años, 1 mes
Puntos: 2
Respuesta: traer array asociativo completo desde mysql

Sorry por levantar un post antiguo, pero me funko la idea, y la quiero compartir.

En mi proyecto ocupo PDO asi que el ejemplo sera con este.

Código PHP:
<?php
    $query 
"SELECT User.name, User.mail, User.last_connect, Group.name, Group.created
                        FROM users as User
                        LEFT JOIN groups as Group ON (User.group_id = Group.id)
                        WHERE User.id = 1"
;
        
    
$dbQuery $this->db->prepare($query);
    
$dbQuery->execute();
        
    
$columns $dbQuery->columnCount();
    
$map = array();
    for (
$i 0$i $columns$i++) {
        
$columnData $dbQuery->getColumnMeta($i);
        
$map[$i]['field'] = $columnData['name'];
        
$map[$i]['table'] = $columnData['table'];
    }

    
$out[] = array();
    while(
$row $dbQuery->fetch(PDO::FETCH_NUM))
    {
        foreach(
$row as $key => $data)
        {
            
$className $map[$key]['table'];
            
$fieldName $map[$key]['field'];
            
            
$out[][$className][$fieldName] = $data;
        }
    }
    return 
$out;
?>
Bueno ahi una porcion del codigo que realiza la magia, obvie el hecho de poner que $this->db es el objecto PDO.

Devuelve un array asociativo al estilo Cake, de hecho hace lo mismo cake, pero no ocupa PDO, y no tenia idea que PDO tenia los metodos para lograrlo.

Si no ocupan PDO pueden revisar para MySQL http://cl2.php.net/manual/es/functio...etch-field.php

Saludos y espero les sirva.
__________________
http://victorsanmartin.com
Web Developer
http://www.guiasitios.cl