Foros del Web » Programando para Internet » PHP »

Problema de arrays

Estas en el tema de Problema de arrays en el foro de PHP en Foros del Web. Que tal buen dia, me podrian ayudar por favor¡?: Obtengo de una Base de Datos varios datos, nombre_de_archivo, zona, ciudad y estado. El problema es ...
  #1 (permalink)  
Antiguo 28/06/2011, 18:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 80
Antigüedad: 15 años, 11 meses
Puntos: 0
Sonrisa Problema de arrays

Que tal buen dia, me podrian ayudar por favor¡?:

Obtengo de una Base de Datos varios datos, nombre_de_archivo, zona, ciudad y estado.

El problema es que necesito ordenar y armar los datos de la siguiente manera:

"Jalisco/Guadalajara/Zapopan/Archivo.xls"

Como pueden ser de 1 a N registros estoy guardando cada dato en un array para despues pasarlos a una funcion que se encarge de armar la cadena:

$arrayArchivos[] = $Base->NombreArchivo;
$arrayZona[] = $Base->Zona;
$arrayCiudad[] = $Base->NombreCiudad;
$arrayEstado[] = $Base->NombreEstado;

Lo que he intentado es anidar foreach(Datos as dato) y si resulta pero solo crea el ultimo registro, ademas de que deben estar agrupados por zona, ciudad y estado es decir:

Archivo1.xls, zona->Zapopan, Ciudad->Guadalajara, Estado->Jalisco
Archivo3.xls, zona->Zapopan, Ciudad->Guadalajara, Estado->Jalisco
Archivo2.xls, zona->DF1, Ciudad->DF, Estado->EstadodeMexico

Muchas gracias por su ayuda :)
  #2 (permalink)  
Antiguo 28/06/2011, 18:28
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas - Venezuela
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 6
Respuesta: Problema de arrays

Yo que tu me voy por lo orientado a objetos, tienes un objeto llamado Base alli, que es de algún tipo...

Por que no extiendes esa clase, de manera que crees un método que te lo anide exactamente como tu quieres y listo?
__________________
Deja un pelo de karma si mi comentario fue de ayuda!!! ;)
  #3 (permalink)  
Antiguo 28/06/2011, 18:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 80
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema de arrays

Gracias luis por tu respuesta, estoy sacando los datos usando mysql_fetch_object todo es programacion estructural, de POO no se pero nada, jeje, si me pudieras ayudar con este pequeño problema?¡ Gracias!!!
  #4 (permalink)  
Antiguo 28/06/2011, 18:46
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas - Venezuela
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 6
Exclamación Respuesta: Problema de arrays

Ahhhhh tramposo... jajajaja bueno... haz lo siguiente:

Código PHP:

class MiClaseNueva 
{

var 
$NombreArchivo;
var 
$Zona;
var 
$NombreCiudad;
var 
$NombreEstado;

__construct($objeto)
{
$this->NombreArchivo $objeto->NombreArchivo;
$this->Zona $objeto->Zona;
$this->NombreCiudad $objeto->NombreCiudad;
$this->NombreEstado $objeto->NombreEstado;
}

public 
getString()
{
$tempArray[]=$this->NombreEstado;
$tempArray[]=$this->NombreCiudad;
$tempArray[]=$this->Zona;
$tempArray[]=$this->NombreArchivo;
return 
implode("/",$tempArray);
}



Tienes esa clase por ahi... y luego.. haces un loop que te traiga todos los registros de tu base de datos:

Código PHP:

while ($Base mysql_fetch_object(......))
{
$temporal = new MiClaseNueva($Base);

echo 
$temporal->getString();

__________________
Deja un pelo de karma si mi comentario fue de ayuda!!! ;)
  #5 (permalink)  
Antiguo 29/06/2011, 10:28
 
Fecha de Ingreso: diciembre-2008
Mensajes: 80
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema de arrays

Muchas gracias luis por tu tiempo, me has acercado un poco más a la respuesta, aunque debo admitir que eso de la POO no se me da del todo :P

Esta muy bien el codigo pero como podria hacer para agrupar todos los archivos que pertenezcan a la misma zona, ciudad y estado; Puede haber algunos que coincidan en los 3, algunos otros solo en 2 ó 1.

Espero me puedas orientar.

Saludos!!!
  #6 (permalink)  
Antiguo 29/06/2011, 11:28
 
Fecha de Ingreso: diciembre-2008
Mensajes: 80
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema de arrays

Tengo los siguientes arreglos:

Array ( [0] => Jalisco [1] => Guadalajara [2] => Zapopan [3]=>Archivo1 )

Array ( [0] => Jalisco [1] => Tequila [2] => Mitras [3]=>Archivo2 )

Array ( [0] => Jalisco [1] => Guadalajara [2] => Zapopan [3]=>Archivo3 )

Como puedo hacerle para agrupar los arreglos por el Estado, Ciudad o Zona segun coincidan¡?
  #7 (permalink)  
Antiguo 29/06/2011, 19:00
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas - Venezuela
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 6
Respuesta: Problema de arrays

Tienes que hacer un corte y control.

Ordena tu consulta SQL

Código SQL:
Ver original
  1. SELECT ...... FROM.... WHERE... ORDER BY ESTADO, CIUDAD, ZONA

Luego recorrelo, comparando si el actual es distinto al anterior, por estado, ciudad y zona... y vas guardando en los arreglos segun necesites
__________________
Deja un pelo de karma si mi comentario fue de ayuda!!! ;)

Etiquetas: arrays
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 12:54.