Estoy realizando un CMS (pequeña duda de lógica)

Iniciado por dimitrix, 4 Marzo 2011, 00:58 AM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Mmmm... Castg! me da error, he intentado arreglarlo pero no anda bien.

Pero una cosa, timas el ID_padre como la cantidad de guines que hay que poner ¿No?
Es que eso no es :-/




Castg!

aaaaaaaaa, entonces, id_padre que es? Por qué no me dlo dijiste antes con el ejemplo que te di?  :¬¬ :¬¬
CitarInicio   ID_PADRE=0
Donde Estamos   ID_PADRE=0
|-> En Valencia   ID_PADRE=1
|-> En Barcelona   ID_PADRE=1
|---> En Tarrassa   ID_PADRE=2
|---> Otros lugares    ID_PADRE=2
|-> En Alicante   ID_PADRE=1
|-> En Madrid   ID_PADRE=1
Servicios que ofrecemos   ID_PADRE=0

Que error te da?

Freeze.

Esa variable ID_PADRE no tiene sentido de la manera en que la están implementando. o.O

Me parece que para hacer ese menu, nunca lo he intentado con niveles "infinitos". Solamente lo hago de 2 niveles. Nivel Padre y Nivel Hijos, por decirlo asi. Y luego las relaciono.

Lunfardo

#13
Cita de: dimitrix en  4 Marzo 2011, 19:43 PM
Mmmm... Castg! me da error, he intentado arreglarlo pero no anda bien.

Pero una cosa, timas el ID_padre como la cantidad de guines que hay que poner ¿No?
Es que eso no es :-/


basicamente la funcion de cast hace lo mismo que lo que te habia puesto pero nada mas que yo no sabia que id_padre era un datos.

creo que recien entiendeo el problema


estoy igual que freeze, no entiendo la funcion de la varible "ID_PADRE" , solo te dice el nivel al que pertenece pero no da informacio util de los niveles superiores

Lunfardo

#14
solo para saber si entendi, vos queres algo asi pero mas elegante?


Código (php) [Seleccionar]

'  <option value="0">&Iacute;ndice</option>');
 $valores = mysql_fetch_array($resultados);
while ($valores){

             $nivelActual=$valores["ID_PADRE"];
             while($valores["ID_PADRE"]==$nivelActual){

             echo('<option value="'.$valores["ID"].'">'.$valores["Titulo"].'</a><br>');
            $valores = mysql_fetch_array($resultados);
            }
};



dimitrix

Castl! El problema es que el ID_padre no tiene nada que ver con el nivel, me explico.


Si por ejemplo:
CitarInicio   ID=1
Donde Estamos   ID=2
|-> En Valencia   ID=3
|-> En Barcelona   ID=4
|---> En Tarrassa   ID=5
|---> Otros lugares    ID=6
|-> En Alicante   ID=7
|-> En Madrid   ID=8
Servicios que ofrecemos   ID=8

ID Padre sería
CitarInicio   ID_padre=0
Donde Estamos   ID_padre=0
|-> En Valencia   ID_padre=2
|-> En Barcelona   ID_padre=2
|---> En Tarrassa   ID=4
|---> Otros lugares    ID=4
|-> En Alicante   ID=2
|-> En Madrid   ID=2
Servicios que ofrecemos   ID=0


¿Lo entendeis ahora?
La razón de por que se hace así y no directamente de otra forma, es por que así desde el panel de control se puede mover las carpetas de un lugar a otro.




Castg!

Perfecto, agregá otra coluimna en tu base de datos: "njerarquia" siendo:
CitarInicio   njerarquia=0
Donde Estamos   njerarquia=0
|-> En Valencia   njerarquia=1
|-> En Barcelona   njerarquia=1
|---> En Tarrassa   njerarquia=2
|---> Otros lugares    njerarquia=2
|-> En Alicante   njerarquia=1
|-> En Madrid   njerarquia=1
Servicios que ofrecemos   ID=0

Así, ID_Padre queda intacto para lo que vos lo utilices, y mi función correría tranquila y correcta

dimitrix

Castg! hay un problema, por ejemplo:

CitarInicio   njerarquia=0
Donde Estamos   njerarquia=0
|-> En Valencia   njerarquia=1
|-> En Barcelona   njerarquia=1
|---> En Tarrassa   njerarquia=2
|---> Otros lugares    njerarquia=2
|-> En Alicante   njerarquia=1
|-> En Madrid   njerarquia=1
Servicios que ofrecemos   njerarquia=0
|-> webs   njerarquia=1
|-> PHP   njerarquia=1

¿Cómo podrías saber que 'webs' pertenece a 'Servicios que ofrecemos' y no a 'Donde estamos'.




Castg!

Es complicadisimo! No se si el problema es que te enquilombaste mucho! veo que puedo seguir haciendo, sino, me parece que vas a tener que cambiar de método, aunque no lo creo...

Freeze.

Tienes que organizarte mejor.
Item y Subitem serían 2 tablas distintas.
Cada Item principal debe tener un ID. Y los subitems un pID, con el que relacionarias. (ID padre). La cuestion es que solo funcionaria para un solo nivel, no encuentro la forma de hacerlo de otra forma sin agrander el numero de tablas de una manera poco estética.