Contactos

Construyendo y mostrando el menú. Menú multinivel en PHP y MySQL MENU STALE PHP

Porque revela el contenido del módulo Menu.php. A continuación se presentará su propio menú de desarrollo en PHP, que fue escrito desde cero en el Bloc de notas.

Este código será especialmente útil para los sitios dinámicos que tienen motores auto-escritos. Ofreceré dos variantes de código que tienen diferencias menores (lo que se explicará la diferencia después).

Para empezar, daré una estructura ejemplar del sitio para el que es adecuado este menú. La estructura del sitio debe tener el siguiente formulario (vista clásica):

/index.html / Razdel_1 / / / / / / Аразделс_ / / / / Аразделс_11.html /razdel_1/articles_2.html ... / razdel_2 / /razdel_2/articles_11.html /razdel_2/articles_2.html ... ... / Razdel_html ... ... / Razdel_HTML ... ... / Razdel_N / Artículos_2. html

El sitio puede contener también subsecciones:

/ Razdel_1 / Podzaderl_1 / / / / / PODZADERL_1 / / / / PODZADERL_1 / ARTIPTUS_1.html_1 / articles_1 / podzaderl_1 / articles_2.html ... /razdel_1/podzaderl_2/articles_1.html /razdel_1/podzader_2/articles_2.html

Tal estructura también funcionará para nuestro menú solo con pequeñas diferencias.

Propongo crear un archivo separado para el menú PHP. Por ejemplo, Menu.php sería un excelente nombre para tal archivo. Para implementar el menú, el estilo del menú también se presenta en CSS para hacerlo menos hermoso. Naturalmente, este estilo se le da solo para la familiarización, ya que los diseños de los sitios son muy diferentes.

Código para el estilo del menú en CSS:

.Menú (altura: 42px; relleno: 0 0 0 16px; Fondo: URL (imágenes / espaciador.png) Repetir;) .Menú LI (Pantalla: Bloque; Flotador: Izquierda;) .Menu Li.ActiveVIE (Fondo: # 000011 ;) .Menú A (Color: #fff; Pantalla: Bloque; Línea de altura: 42px; Texto-Decoración: Ninguno; Acolchado: 0 14px;) .Menú A: Hover (Fondo: URL (imágenes / SPACER.PNG) Repetir ;)

Ahora, consideremos la primera opción para implementar el menú en PHP, que es un poco simplificado.

La primera versión del código del menú PHP.

\\ n "; para ($ i \u003d 0; $ i ": "
  • "; Eco" "$ Array_Menu [$ i] [" nombre "]".
  • \\ n ";) echo""; ?>

    El menú se puede dividir en dos partes. El primero contiene una matriz de información de $ Array_Menu, que incluye los nombres de nuestras secciones con enlaces a secciones. Hay una opción para marcar estos datos en la base de datos MySQL, pero no existe un sentido particular en esto, ya que la muestra es muy pequeña, por lo que no afectará la velocidad del trabajo.

    La segunda parte contiene la salida del menú a través del ciclo. El ciclo está comparando la dirección del sitio con la dirección de la matriz de $ Array_Menu. Si hay una coincidencia, visualizamos la siguiente sección del menú con una clase especial activa:

  • de lo contrario simple
  • . Esto nos permite resaltar un poco de color que parte del menú en el que se encuentra el usuario. En mi opinión, esta es la cosa necesaria para cualquier sitio para que el usuario pueda entender en qué sección se encuentra.

    El orden de la matriz se guardará y cuando se muestre el menú en el sitio. Es decir, la matriz debe estar llenando en el orden en que desea mostrar el menú.

    Nota:
    En el caso URL (direcciones), el encabezado de las secciones parece:
    / Razdel_1
    o tal
    /razdel_1/nazvanie_razdela.html
    que en Array_Menu necesita grabar la coincidencia exacta:
    $ Array_Menu [$ i] ["URL"] \u003d "/ Razdel_1"
    o para el segundo caso:
    $ Array_menu [$ i] ["URL"] \u003d "/ Razdel_1 / nazvanie_razdela.html";

    ¿Cómo funciona la primera versión del menú?
    Resalta el menú solo si está en la sección Título de la sección. Por ejemplo, si la dirección de la página es /razdel_1/articles_1.html, el menú no se resaltará.

    La segunda variante del Código es una versión modificada de la primera y proporciona la posibilidad de resaltar el menú incluso en los artículos que están en las secciones.

    Segunda versión del menú PHP.

    "Para ($ i \u003d 0; $ i ": "
  • "; Echo". $ Array_Menu [$ I] ["Título"] ".
  • ";) De lo contrario (ECHO ($ URL) \u003d\u003d ($ Array_Menu [$ I] [" URL "])?"
  • ": "
  • "; Echo". $ Array_Menu [$ I] ["Título"] ".
  • ";)) Eco""; ?>

    Si está interesado en la respuesta a la pregunta de cómo crear un menú del sitio, luego vino a la dirección correcta.

    Miraremos la creación de un menú dinámico en PHP, escrito específicamente para las teteras en la programación, así como para aquellos que aún están en el tanque.

    LECCIÓN 3. MENÚ EN PHP para el sitio Hacer dinámico - Teteras

    Crea el diseño futuro de nuestro sitio. Para hacer esto, dibuje un sitio súper hermoso en Photoshop y corte en pedazos. Imagina que el sombrero, el logotipo, el menú y el sótano no están escritos en palabras, como en este ejemplo, y esto son elementos exquisitamente y decorados de forma colorida del sitio.

    Cree, por ejemplo, tres páginas y llame a la Sección 1, Sección 2, Sección 3

    Este texto para diferentes páginas será diferente, pero no nos molestaremos en ello y lo dejará, ya que está en todas las páginas.

    Continuaremos a crear un sitio en PHP.

    1. Resalte el encabezado, el logotipo, el menú, los bloques de pie de página en archivos separados con PHP o extensión HTML

    encabezado.html.

    logo.html.

    menu.html.

    footer.html.

    Agregue un archivo con este texto para verlo en todas las páginas. Vamos a llamarlo text.html

    Nota. A partir de ahora, se registrarán otros registros directamente en el archivo text.html

    2. Cree una plantilla para nuestro sitio en PHP.

    Para hacer esto, continúe simplemente: guarde el archivo real, pero ya con la extensión de PHP y el borrado de todos los rellenos textuales. Deja que no sea profesional, pero está claro, pero todo complicará todo más adelante. Ahora lo principal es entender el principio de diseño.

    3. Ahora el archivo template.html, no necesitamos.

    Gracias a él, tenemos una idea de cómo se verá nuestro sitio.

    4. Nuestra plantilla es el archivo template.php

    En él, ahora insertamos con el comando incluir todos los elementos del sitio.

    5. Crea tres páginas, según lo recolectado inicialmente.

    Sección 1Inclinación 1.php.

    Sección 2.Inclinación 2.PHP.

    Seccion 3.Inclinación 3.PHP.

    Para hacer esto, puedes usar el equipo más simple. guardar como...

    Para los más pequeños explicaré: Abrir el archivo. plantilla.php., luego haga clic guardar como... y guardamos llamado 1.php., repita el procedimiento y guarde constantemente la página del sitio 2.PHP., 3.PHP.

    Teníamos 3 páginas con el mismo diseño. Suficiente para insertar en lugar de archivo text.html Otro, el complemento con imágenes diferentes o cualquier código HTML, scripts y el contenido de cada página serán únicos.

    ¡Atención!

    Si el archivo no se crea index.php. Para la página principal, en el navegador, escribiendo la dirección del sitio, no veremos el sitio en sí, sino solo la estructura del directorio (lista de carpetas).

    Puedes ver en Denver y asegurarte. Corrija la situación - Cree un archivo index.php. y vamos a llamar mucho tiempo el principal. Al mismo tiempo creando un archivo. text-home.html. y usando el equipo incluir. Insertar en la nueva página del sitio recién creado.

    6. ¿Cómo ver el sitio en PHP?

    Lo que pasó, simplemente no ver. Esto ya no es una plantilla con extensión HTML.

    Pero no es un problema. Necesitamos el suyo, es decir, Servidor local en la computadora. Para hacer esto, instale Denver y el resultado de su trabajo estará mirando el navegador sin salir de Internet.

    Ahora orden. Anoté la dirección del sitio y vi todo lo que se creó en forma normal con el diseño.

    Ahora tomamos el menú PHP del sitio.

    1. Abra el archivo Menu.html y gire la sección1, 2 y 3 en los enlaces del sitio. Los enlaces a PHP se crean de diferentes maneras.

    Nuestra tarea es aprender a sentir el sitio web creado en PHP. Por lo tanto, haremos enlaces, al igual que en la sección de sitio estático habitual 1, etc.

    Me gusta este procedimiento para crear enlaces en Macromedia Dreamweaver. Tener tiempo para ñame OK Y tomando café.

    2. Cómo enlazar al menú Inactivo, si el visitante está en esta página.

    Un visitante será más conveniente para navegar por el sitio sabiendo qué tipo de historia es.

    Si ha completado todos los pasos estrictamente en puntos, ve que tenemos que todos los enlaces en el menú están activos constantemente. ¿Como arreglarlo?

    Para empezar, recuerda la definición que Operadores condicionales

    - Esto es cuando se ejecuta alguna acción o no se ejecuta dependiendo de las condiciones.

    Realice las siguientes acciones:

    • Nosotros necesitamos variables y uno operador condicional:

    if ($ master \u003d\u003d "home")// esta condición. Si se está ejecutando, en este menú de lugar usando el comando ECHO, se insertan las etiquetas HTML ordinarias "Inicio".

    eco "

    el principal

    ";

    dEMÁS. // significa "otro" - qué pasará si no se realiza la condición. En este caso, cuando no se cumple la condición, la inscripción "Home" será una referencia que conduzca a la página principal.

    eco "

    el principal

    ";

    • Inventamos la condición, pero compruebe la variablenecesito preguntarlo.

    Para hacer esto, en todas las páginas se colocarán tales bloques de código:

    $ master \u003d "home";

    $ Master \u003d "Sección 1";

    $ Master \u003d "Sección 2";

    $ Master \u003d "Sección 3";

    Como puede ver su código para cada página.

    Por lo tanto, nuestros pasos prácticos para crear menús PHP serán los siguientes:

    1) Abre el archivo index.php.

    e inserte el código

    $ master \u003d "home";

    a la ubicación del código insertando el menú del sitio en sí incluir "menu.html";
    ?>

    2) Abre el archivo menu.html. E inserte el código con la condición en lugar de un simple enlace HTML a la página principal.

    ¡Nos fijamos en el navegador y admiremos! Si va a la página principal, ¡el enlace ha dejado de estar activo!

    3) Repetimos el artículo 1 y 2 con páginas. 1.php, 2.php, 3.php

    Repetición 1:

    1) Abra el archivo 1.php e inserte el código que muestra el bloque de menú de una variable dada

    $ Master \u003d "Sección 1";

    2) Abra el menú de archivo.html e inserte el código con la condición en lugar de un enlace simple Sección 1Haciendo los siguientes cambios:

    si ($ master \u003d\u003d "Sección 1")// esta condición. Si se realiza, en este menú de lugar usando el comando ECHO, se insertan las etiquetas HTML ordinarias "Sección 1".

    eco "

    Sección 1

    ";

    dEMÁS. // significa "otro" - qué pasará si no se realiza la condición. En este caso, cuando la condición no se cumple, "Sección 1" será una referencia que conduzca a la página principal.

    eco "

    Sección 1

    ";

    ¡Milagro repetido! Ahora, si estamos en la página. Sección 1El enlace en el menú no está activo.

    Repetir - ¡Enseñanza madre! O para aquellos que están en el tanque! De nuevo

    Revolución 2.

    1) abierto archivo 2.php. E inserte el código.

    $ Master \u003d "Sección 2";

    2) Abra el archivo MENU.HTML nuevamente e inserte el código con la condición

    si ($ master \u003d\u003d "Sección 2") // esta condición. Si se realiza, en esta ubicación, se inserta la "Sección 2" de etiquetas HTML habituales "Sección 2" utilizando el comando ECHO.

    eco "

    Sección 2.

    ";

    dEMÁS. // significa "otro" - qué pasará si no se realiza la condición. En este caso, al definir la condición, la inscripción "Sección 2" será una referencia que conduzca a la página principal.

    eco "

    Sección 2.

    ";

    Repetir 3.

    1) Abierto archivo 3.php. Y establecer la variable.

    $ Master \u003d "Sección 3";

    2) En el menú.html archivo inserte el código con la condición en lugar del enlace Seccion 3., Los cambios son:

    si ($ master \u003d\u003d "Sección 3") // esta condición. Si se realiza, en este menú de lugar usando el comando ECHO, se insertan la sección "Sección 3" ordinaria HTML-TAGS.

    eco "

    Seccion 3.

    ";

    dEMÁS. // significa "otro" - qué pasará si no se realiza la condición. En este caso, cuando no se cumple la condición, la inscripción "Sección 3" será un enlace que conduce a la página principal.

    eco "

    Seccion 3.

    ";

    Salir: Nosotros en lugar de enlaces en el menú de este tipo.

    el principal


    Sección 1

    Sección 2.


    Seccion 3.

    Esta lección de PHP se escribió en las numerosas solicitudes de los visitantes del sitio y es un manual práctico para aprender cómo crear un menú dinámico para el sitio PHP.

    El próximo pulverizador WebMaster contará sobre cómo hacer que los titulares, descripciones y palabras clave únicas de cada página.

    Puede descargar el archivo con todos los archivos de plantillas del sitio y el menú PHP. Los recién llegados se recomiendan en la programación.

    Si está listo para un estudio serio de PHP, entonces es mejor encontrar un curso de video de Popov difícil. Él tiene una gran experiencia y una buena sílaba.

    ]]> ]]>

    Eso es lo que veremos ahora. Y así, la tarea es realizar el menú vertical, en forma de una lista desplegable.

    ¿Cómo se puede implementar esto en PHP? ¡Muy simple! Por ejemplo, tenemos un archivo. index.php, Que, dependiendo de la partición seleccionada en la lista desplegable, debe mostrar el contenido apropiado en la página. Se implementa de la siguiente manera:

    1. Cree archivos en format.html, que contendrá el contenido que necesita para emitir.

    2. Crear (escribir) en el script index.php Las condiciones necesarias para la salida de la información relevante.

    3. Consideramos que el script creado de la posición de seguridad del script se está ejecutando.

    Bueno, parece que la teoría terminó, vaya a la práctica. Primero, cree páginas estáticas en el formato .html, que contendrá la información necesaria. Allí puede escribir todo lo que su corazón es :) Como resultado, deberíamos tener al menos dos archivos primero.html y segundo.html, respectivamente, entonces se pueden hacer todo lo que desee, que se dio cuenta del algoritmo principal de la código.

    Para mostrar la lista desplegable en el archivo index.php. Cree un formulario HTML, y debajo de PHP el script de dicho contenido:



    Menú PHP.


    Menú desplegable PHP












    if (ISSET ($ _Get ["Dónde"]))
    {
    Si ($ _get ["donde"] \u003d\u003d 1)
    $ file \u003d "first.html";
    Si ($ _get ["donde"] \u003d\u003d 2)
    $ file \u003d "segundo.html";
    incluir ($ archivo);
    }
    ?>


    Aquí está el código listo del menú desplegable, y que lo más interesante funcionará normalmente, pero desde el punto de vista de la seguridad, es vulnerable.

    La vulnerabilidad de este script radica en el hecho de que la variable. $ file. Queda no se inicializa, y en este caso el valor de la variable creada automáticamente cae inmediatamente a la función incluir.Y, a su vez, su (variable) se conecta y se muestra en la pantalla. Y puede ser no solo .HTAccess Configuration Archivo. Para piratear este script, el parámetro donde es suficiente para transferir el valor no proporcionado por el código, bueno, por ejemplo, 3. y, como este valor, no se proporciona con un script, luego solo una variable $ file. No pasará la inicialización. Por lo tanto, será posible establecer un valor arbitrario a través de la cadena de la URL.

    http: //localhost/index.php? donde \u003d 3 & file \u003d .htaccess

    Pero esto es así, un ligero retiro del tema. 😀

    La solución a este problema es bastante simple, variable. $ file. Simplemente es necesario inicializar antes de usarlo, es decir, asigne el valor predeterminado.

    Aquí, si el parámetro donde se transfiere al script, la variable se inicializará correctamente, de lo contrario, simplemente estará vacía. Esto es lo que sucedió en el menú desplegable [seguro] en PHP.

    PD La creación de scripts debe tenerse en cuenta y eliminar respectivamente todos los vectores de ataques posibles. Solo para que pueda crear un proyecto que cumpla con las reglas de seguridad y en la demanda por parte del cliente. A nuevas reuniones!

    En el caso general, la tarea de formación de menú incluye:

    • resalte los elementos HTML para construir un menú;
    • creación de una plantilla de menú (creando una plantilla de componente Menú);
    • habilitación de la función de visualización del menú (llamada de componente Menú) en la plantilla general ("prólogo" y "epilogía");
    • rellenando el menú de acuerdo con la estructura del sitio.

    Estructura de menú

    Cualquier menú en el sitio se basa en dos componentes:

    • la matriz de datos de $ Amenulinks que define la composición del menú, establece los nombres y enlaces para todos los elementos del menú. La gestión de la matriz de datos se controla a través de la interfaz administrativa;
    • plantilla de presentación del menú al aire libre. La plantilla del menú es el código PHP que define la apariencia del menú (plantilla de componente Menú). La plantilla del menú procesa una matriz de datos emitiendo un código HTML en la salida.

    Matriz de estos menú

    Los datos para cada tipo de menú se almacenan en un archivo separado cuyo nombre es el siguiente formato: .<тип меню>.Menu.php.. Por ejemplo, para almacenar datos de tipo de datos. izquierda. Se utilizará el archivo .lft.menu.php., y para almacenar estos tipos de menú. cima. - Archivo .top.menu.php..

    El menú está heredado jerárquicamente. Los archivos de menú se colocan en carpetas de esas secciones del sitio donde se requieren los tipos de menú relevantes. Si esta sección no crea el archivo de menú apropiado, el sistema está buscando una búsqueda de archivos en el nivel de directorio anterior.

    Por ejemplo, porque El menú principal (en la versión de demostración del producto, este es un menú de tipo cima.) Debe mostrarse en todas las secciones, el archivo de este menú se coloca solo en el directorio raíz del sitio.

    En consecuencia, el menú de segundo nivel (en la versión de demostración del producto, este es el menú izquierda.) Muestra por separado para cada sección del sitio. Por lo tanto, en la carpeta de cada sección, su archivo se crea para este tipo de menú.

    Más ejemplo: El visitante se encuentra en la Sección / RU / Empresa / Acerca de /. Para mostrar el tipo de menú restante, el sistema busca el archivo de menú en la siguiente secuencia:

    1. /ru/company/about/.left.menu.php.
    2. /ru/company/.left.menu.php.
    3. /u//.left.menu.php.
    4. /.Elft.Menu.php.

    Si se encuentra un menú en uno de los directorios, entonces la búsqueda se detiene y en los directorios posteriores ya no ha estado buscando.

    El sistema marco de Bitrix también le permite crear menú Tipo Dinámico Esto requiere la opción Habilitar en el componente del menú. Conecte archivos con vistas nombres.Tipo .Menu_Ext.php ("Use_ext" \u003d\u003e "y"), que se desactiva de forma predeterminada. . Esos. Una matriz de estos menús, tal se genera automáticamente en función de algunos datos obtenidos por el código del programa. Este código debe almacenarse en la carpeta de la sección del sitio correspondiente en el archivo nombrado .<тип меню>.menu_ext.php.

    La tarea principal de tales archivos es una manipulación por una matriz de $ Amenulinks. Estos archivos no se editan visualmente en el módulo. Control de la estructuraPor lo tanto, no podrán editarse accidentalmente durante el menú de edición visual. Al crear este archivo, use un componente. Elementos de menú (bitrix: menu.sections).

    Nota: En el párrafo anterior, estamos hablando solo de la adición del menú creado por los nombres de las secciones de información. Por ejemplo, para los foros de nombres de menú adicional, esta opción no es adecuada.

    ¡Atención! Si las secciones del directorio CNC se utilizan como elementos del menú, debe especificar variables en variables de solicitud significativas.

    Un ejemplo de dicho menú puede servir como la sección izquierda de la sección. Catálogo de libros.Presentado en la versión de demostración del producto. Aquí están los dos primeros elementos del menú. Autores y Comentarios Creado de la manera habitual, y el resto ( Literatura comercial, Literatura infantil etc.) se forman dinámicamente.

    En este caso, los nombres de los grupos de catálogo se utilizan como elementos del menú. LibrosCreado en base a bloques de información. El código de programa basado en el menú se genera, almacenado en el archivo .lft.menu_ext.php. En la carpeta / E-Store / Libros.


    En archivos .<тип меню>.Menu.php. Se pueden utilizar las siguientes variables estándar:

    • $ Smenutemplate: la ruta absoluta a la plantilla del menú (esta variable se usa extremadamente rara vez);
    • $ Amenulinks: una matriz, cada elemento de donde describe el siguiente elemento del menú.

      La estructura de esta matriz:

      Array (\u003d\u003e Artículo de menú 1 Array (\u003d\u003e elemento de menú \u003d\u003e enlace en el elemento del menú \u003d\u003e Array de enlaces adicionales para resaltar el elemento del menú: Array (\u003d\u003e referencia 1 \u003d\u003e referencia 2 ...) \u003d\u003e ARRAY DE Variables adicionales transmitidas en la plantilla de menú: Array ([Nombre de la variable 1] \u003d\u003e Variable Variable 1 [Nombre de la variable 2] \u003d\u003e Valor variable 2 ...) \u003d\u003e Condición en la que el elemento del menú aparece esta expresión PHP que debe devolver " Verdadero ") \u003d\u003e Artículo 2 \u003d\u003e Punto de menú 3 ...)

    Ejemplos de archivos de menú

    IsAutorized () "), Array (" Revista de aprendizaje "," GroomBook.php ", Array (), Array ()," \\ $ Globals ["Usuario"] -\u003e IsAutorizado () "), Array (" Perfil del profesor " , "Perfil.php", matriz (), matriz (), "\\ $ globales [" usuario "] -\u003e ISA autorizado ()"),);?\u003eIncludeComponent ("bitrix: menu.sections", "", matriz ("id" \u003d\u003e $ _request ["element_id"], "iBLock_Type" \u003d\u003e "Libros", "IBLOCK_ID" \u003d\u003e "30", "SECTOR_URL" \u003d \u003e "/e-store/books/index.php?section_id\u003d#id#", "cache_time" \u003d\u003e "3600"); $ Amenulinks \u003d Array_Merge ($ Amenulinks, $ Amenulinksext); ?\u003e.

    Organización del menú Menú

    La pantalla del menú en las páginas del sitio se realiza utilizando un componente. MENÚ (BITRIX: MENU). Por ejemplo, la llamada al menú superior en el sitio de demostración tiene el siguiente formulario.

    En este artículo, mostraré cómo crear. menú multinivel en PHP y MySQL. Por supuesto, las opciones para su creación se pueden inventar mucho, pero a juzgar por el número de sus preguntas sobre este tema, necesita un ejemplo. Y lo daré en este artículo. Inmediatamente noté que este artículo solo tiene sentido para aquellos que saben PHP. y sabe cómo trabajar con Mysql. Todo el resto primero debe pasar por este, o leer algunos libros en PHP y MySQL.

    Para empezar, cree una tabla en la base de datos con los siguientes campos:

    • identificación - Identificador único.
    • título - Enlaces de anclaje en el menú.
    • eNLACE. - La dirección a la que será el elemento del menú.
    • identificación de los padres - ID de Parental. Si no hay un artículo de los padres, entonces NULL estará aquí (o puede poner 0 más).

    La mesa fue ordenada, ahora es el momento. Código php. Completo Código php Ubicado a continuación:

    $ mysqli \u003d nuevo mysqli ("localhost", "raíz", "", "db"); // conectarse a la base de datos
    $ Result_Set \u003d $ MySQLi-\u003e Consulta ("Seleccionar * de 'Menú'); // Hacemos una muestra de todas las entradas de la tabla con el menú
    $ elementos \u003d matriz (); // Array para los elementos del menú
    while (($ fila \u003d $ resultado_set-\u003e fetch_assoc ())! \u003d falso) $ los elementos [$ fila [«id]] \u003d $ fila; // Rellene la matriz de la muestra de la base de datos
    $ Childrens \u003d Array (); // Array para la conformidad con sus elementos parentales
    Foreach ($ artículos como $ artículo) (
    Si ($ ítems ["" parent_id "]) $ childrens [$ ítem item [id"]] \u003d $ artículo ["Parent_ID"]; // llenar una matriz
    }
    Función PrintItem ($ Artículo, $ artículos, $ Childrens) (
    / * Muestra el elemento del menú * /
    Eco "

  • ";
    Echo ". $ Artículo [" Título "]." ";"
    $ ul \u003d falso; // se habían mostrado los elementos secundarios?
    Mientras (verdad) (
    / * Bucle infinito en el que estamos buscando todos los elementos infantiles * /
    $ KEY \u003d Array_Search ($ artículo [ID "], $ Childrens); // estamos buscando un elemento secundario
    Si (! $ clave) (
    / * Artículos hija no encontrados * /
    Si ($ ul) eco ""// Si los elementos infantiles se emiten, cierre la lista
    Rotura; // salga del ciclo
    }
    Desactivar ($ childrens [$ clave]); // Eliminar el elemento encontrado (para que no aparezca de nuevo)
    Si (! $ ul) (
    Eco "
      "// Comenzamos la lista interna si los elementos secundarios aún no han sido
      $ Ul \u003d verdadero; // establecer la bandera
      }
      Echo printitem ($ artículos [$ Tecla], $ artículos, $ Childrens); // mostrar recursivamente todos los elementos secundarios
      }
      Eco "";
      }
      ?>

      Este código es totalmente trabajador, sin embargo, debe comprender que nadie escribe (en particular, la conclusión a través de eco. Html Tagov). Y su tarea es tomar el algoritmo de este código, pero no el código en sí. Y luego este algoritmo está conectado a su motor. Intenté comentar cuidadosamente el código de salida. menú multinivel en PHP y MySQLPero, por supuesto, no es lo más transparente y requiere un buen conocimiento inicial. Si todavía sabes PHP y MySQLLuego al principio recomiendo encarecidamente pasar por esto



  • ¿Te gustó el artículo? Compártelo