Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/07/2004, 03:00
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
dejaselo a PHP no a la base de datos

Cita:
Iniciado por zarate
Está usted en: General -> Carpeta 1 -> Carpeta 2
A ver... para llegar a la carpeta 2, el usuario forzosamente debió haber pasado por la general y luego la carpeta 1 correcto?

no es necesario siquiera recorrer nada con un for, simplemente cuando el usuario entre a carpeta general, guarda ese nombre de carpeta en una variable de sesión tipo arreglo. Si sube de nivel elimina la última variable del arreglo. Si se adentra mas en el nivel, agrega otro elemento al final del arreglo con el nombre de la nueva carpeta.

previamente defines el arreglo
Código PHP:
$_SESSION['carpetas'] = array(); 
cuando entra a general:
Código PHP:
$_SESSION['carpetas'][] = 'General'
cuando entra a carpeta 1
Código PHP:
$_SESSION['carpetas'][] = 'Carpeta1'
si sube de nivel simplemente eliminas el último elemento con array_splice() o array_pop() o alguna otra función propia. Si baja de nivel sigues agregando elementos al arreglo.

Lo recomendable sería que hicieras un objeto que te manejara todo esto, identificar la acción (subir o bajar de nivel) y realizar el ajuste correspondiente. Si de repente sube dos niveles borrar dos elementos etc etc...

Alguna otra idea?

saludos