Foros del Web » Programando para Internet » PHP »

Problemas para recorrer Array Multidimensional Dinamico

Estas en el tema de Problemas para recorrer Array Multidimensional Dinamico en el foro de PHP en Foros del Web. Estimados, Resulta que estoy trabajando con una clase PHP @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original Class ConsultarDB extends Conexion {       private $conexion ...
  #1 (permalink)  
Antiguo 17/03/2015, 10:03
Avatar de hhelmanj  
Fecha de Ingreso: julio-2014
Ubicación: Santiago de Chile
Mensajes: 10
Antigüedad: 9 años, 9 meses
Puntos: 0
Problemas para recorrer Array Multidimensional Dinamico

Estimados,

Resulta que estoy trabajando con una clase PHP

Código PHP:
Ver original
  1. Class ConsultarDB extends Conexion
  2. {
  3.  
  4.     private $conexion;
  5.     public function __construct(){
  6.         $this->conexion = parent::conectar(); //creo una variable con la conexión
  7.         return $this->conexion;                                      
  8.     }
  9.     public function consultarBD($consulta, $valores = array())
  10.     {  //funcion principal, ejecuta todas las consultas
  11.         $resultado = false;
  12.         if($statement = $this->conexion->prepare($consulta)){  //prepara la consulta
  13.             if(preg_match_all("/(:\w+)/", $consulta, $campo, PREG_PATTERN_ORDER)){ //tomo los nombres de los campos iniciados con :xxxxx
  14.                 $campo = array_pop($campo); //inserto en un arreglo
  15.                 foreach($campo as $parametro){
  16.                     $statement->bindValue($parametro, $valores[substr($parametro,1)]);
  17.                 }
  18.             }
  19.             try {
  20.                 if (!$statement->execute()) { //si no se ejecuta la consulta...
  21.                     print_r($statement->errorInfo()); //imprimir errores
  22.                 }
  23.                 $resultado = $statement->fetchAll(PDO::FETCH_ASSOC); //si es una consulta que devuelve valores los guarda en un arreglo.
  24.                 $statement->closeCursor();
  25.             }
  26.             catch(PDOException $e){
  27.                 echo "Error de ejecución: \n";
  28.                 print_r($e->getMessage());
  29.             }  
  30.         }
  31.         return $resultado;
  32.         $this->conexion = null; //cerramos la conexión
  33.     } /// Termina funcion consultarBD
  34. }/// Termina clase conectorDB
  35. //*****************************************************************
  36.  
  37. class RankingPersonas
  38. {
  39.     private $ranking;
  40.     public function obtenerRankPeriodo($desde, $hasta, $cantidad=10)
  41.     {
  42.         $consulta= "select top $cantidad cobrador
  43.                     from tve
  44.                     where fecdoc >= '$desde' and fecdoc <= '$hasta'
  45.                     group by cobrador
  46.                     order by sum(total) desc";
  47.         $oConectar = new ConsultarDB; //instanciamos conector
  48.         $this->ranking = $oConectar->consultarBD($consulta,$valores);
  49.         return $this->ranking;
  50.     }
  51. }

En el index:

Código PHP:
Ver original
  1. $ranking = new RankingPersonas();
  2. $rank=$ranking->obtenerRankPeriodo('01-03-2015', '16-03-2015','10');
  3. print_r($rank);

Array devuelvo:

Array ( [0] => Array ( [cobrador] => YAZMIN SABINA MENDOZA LASMA ) [1] => Array ( [cobrador] => MARIA DE LOS ANGELES ADASME LAGOS ) [2] => Array ( [cobrador] => CRISTIAN ANDRES SABJA RAMOS ) [3] => Array ( [cobrador] => PABLO IGNACIO SOTO PALACIOS ) [4] => Array ( [cobrador] => MARIA JOSE PEREZ FUENTES ) [5] => Array ( [cobrador] => DARWIN STALYN VILLACRES YUPA ) [6] => Array ( [cobrador] => JAVIER ALEJANDRO FUENTES BARRAZA ) [7] => Array ( [cobrador] => LUIS LEONEL VALLADARES MELLA ) [8] => Array ( [cobrador] => EMILIO THIELEMANN ROJAS ) [9] => Array ( [cobrador] => JULIO CABEZAS GUAJARDO ) )

Se supone que en la capa HTML "no puedo saber" el nombre de la clave de ese array, en este caso "cobrador" y necesito recorrerlo, por supuesto considerando que ese array puede tener mas columnas...

Estoy tratando de resolver esto y no logro....sera alguien capaz de ayudarme, no
  #2 (permalink)  
Antiguo 17/03/2015, 10:37
 
Fecha de Ingreso: marzo-2003
Ubicación: Gandia, Valencia, España
Mensajes: 55
Antigüedad: 21 años
Puntos: 3
Respuesta: Problemas para recorrer Array Multidimensional Dinamico

Devuelve también el ID del cobrador, no sólo en nombre. Para esto creo que lo más sencillo será utilizar limit y order by en lugar de select TOP. No obstante,s i pones la firma, mejor
__________________
Sueño luego existo
  #3 (permalink)  
Antiguo 17/03/2015, 11:57
Avatar de hhelmanj  
Fecha de Ingreso: julio-2014
Ubicación: Santiago de Chile
Mensajes: 10
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Problemas para recorrer Array Multidimensional Dinamico

Cita:
Iniciado por macius Ver Mensaje
Devuelve también el ID del cobrador, no sólo en nombre. Para esto creo que lo más sencillo será utilizar limit y order by en lugar de select TOP. No obstante,s i pones la firma, mejor
El tema es que el ID de cobrador esta en otraaa tabla, la base esta medio mal diseñada, es un enlatado. Pero voy a hacer eso.

Que diferencia hay entre hacerlo con TOP y LIMIT? La base es SQL SERVER y tengo entendido que en SQL SRV no existe LIMIT...pero xfa me si me ayudas, tal vez hay una mejor manera, soy bastante nuevo en esto....

Respecto a la firma..a que te refieres?

Saludos

Julian

Etiquetas: dinamico, html, multidimensional, select, variable
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 18:36.