Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 04-01-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Que tal Efelix.

#1
Supongamnos que tienes una venta de ropa, en esta tienes todo dividido por categorías de la siguiente manera:
  • Hombres
    • Camisas
      • Marca X
      • Marca Y
      • Marca Z
    • Playeras
      • ...
    • Pantalones
      • ...
    • Ropa Interior
      • ...
  • Mujeres
    • ...
  • Niños
    • ...
Esta estructura, que se podría comparar con una estructura de directorios (carpetas), debería estar guardada en una base de datos, la cual podría contener los siguientes campos:
Cita:
Tabla: Categorías
  • id
  • idsuperior
  • nombre
id: Almacenará el identificador de la categoría en cuestión.
idsuperior: Almacenará el id de la categoría padre, en caso de no poseer podre se colocará "0".
nombre: El nombre de la Categoría, ej: "Camisas".

Los datos deberán estar guardados de la siguiente manera:


Cita:
id: 1
idsuperior: 0
nombre: Hombres

-------------------------------------

id: 2
idsuperior: 1
nombre: Camisas

-------------------------------------

id: 3
idsuperior: 1
nombre: Pantalones

-------------------------------------

id: 4
idsuperior: 3
nombre: Marca X

-------------------------------------

...
De esa forma con cada una de las categorías.

Luego para identificar la estructura de la posición actual, bastará con un pequeño script en php que se encargue de tomar la posición en la que te encuentras y luego buscar quien es el padre, padre del padre, etc... hasta llegar a el que no posee padre.

ej:
Si tenemos la url:
Código:
http://dominio.com/categoria.php?id=4
Bastaría con un script como este:

Código PHP:
<?php
$id 
$_GET['id'];

$mCon = @ mysql_connect('host','user','pass');
if (
$mCon){
   
mysql_select_db('database');

   
$rQuery = @mysql_query("SELECT * FROM Categorias WHERE id = $id");
   if (
mysql_num_rows($rQuery)==1) {
      
$categoria[0]=mysql_fetch_object($rQuery);
      
$c 0;
      
$salirfalse;
      while(!
$salir){
        
$rQuery = @mysql_query('SELECT * FROM Categorias WHERE id = '.$categoria[$c]->idsuperior);
        
$categoria[++$c]=mysql_fetch_object($rQuery);        
    if(
$categoria[$c]->idsuperior==0){
          
$salir=true;
        }
      }

      for(
$i=count($categoria);$i>=0;$i--){
         echo .
'/'.$categoria[$i]->nombre;
      }

   } else {
      die (
"El id especificado no existe.");
   }
} else {
   die(
'Imposible conectar al Servidor de Base de Datos');
}
?>
El cual nos daría el siguiente resultado:
Código:
/Hombres/Pantalones/Marca X
Con unos pequeños cambios podrás hacer algo similar a la barra de navegación del club.

Nota:
Me he dado cuenta que mientras escribia, Kayetano se me adelantó, y ya no es necesario responder la segunda pregunta.

Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
De JavaScript a PHP halizia PHP 10 10-10-2006 18:23:38
Enumerar los registros un listado o informe en Rave Bairon Kumon Impresión 0 01-06-2006 23:08:32
javascript kejos HTML, Javascript y otros 2 12-04-2006 12:53:35
Como enumerar filas de un DBGrid sin agregar otro campo Velia Varios 2 06-12-2005 08:58:57
Enumerar con Letras torito Varios 4 20-07-2005 14:57:23


La franja horaria es GMT +2. Ahora son las 13:37:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi