Cómo crear un menú de árbol con el menú de árbol PHP y MySQL
1
inicia sesión en tu base de datos MySQL. Crear una tabla con tres campos: el ID de nodo, el texto del nodo y el ID de padre para el nodo. Introduzca la información en la tabla. Cada identificador de nodo debe ser exclusivo. Los nodos en el nivel superior tiene cero para un ID de nodo principal, mientras que los nodos secundarios tengan un ID de matriz que coincide con el campo de identificación para los respectivos padres.
2
Abrir un archivo HTML en el que desea crear un menú de árbol. Inserte el cursor donde desea que el árbol. Escriba el siguiente código:
Php $ db = mysql_connect ($ host, $ usuario, $ password); mysql_select_db ($ database);
Estas líneas simplemente establecer la conexión con su base de datos MySQL. Cambie las variables de PHP a las aplicables a la base de datos
3
Escriba el siguiente código:.
$ Result = mysql_query ("SELECT * FROM table_name") or die (mysql_error ());
Esta línea realiza una llamada a la base de datos MySQL y obtiene la información de la tabla que contiene la información del menú de árbol y lo guarda en una variable PHP
4 <. p> Escriba el siguiente código:
$ menu = Array (); while ($ m = mysql_fetch_array ($ result)) {$ menu [] = array ('id' => $ m ['id '],' text '=> $ m [' text '],' padre '=> $ m [' padre ']);}
La primera línea crea una variable de PHP y lo inicializa como una matriz. . Los "mientras que" los ciclos de bucle a través de cada uno de los registros en el "$ resultado" variable y ellos formatos para su uso por una función de PHP
5
Escriba el siguiente código:
TreeMenu función ($ filas, $ parent = 0) {$ result = "
- "; foreach ($ filas como $ fila) {
La primera línea crea una nueva función llamada " TreeMenu "que va a utilizar para construir su árbol. Se toma una o dos parámetros. En primer lugar, se necesita la información de un array PHP. El segundo es un número entero que contiene información acerca de los nodos principales en el árbol. Si usted no pasa un segundo parámetro, se crea su propia variable e inicializa su valor a cero
6
Escriba el siguiente código:.
If ($ row ['padre ».] == $ matriz) {$ result =" {$ row [Texto]} "; foreach ($ row como $ r) {if ($ r ['padre'] == $ r ['id']) $ niños = true; más hijos $ = false;} if ($ hijos = true) $ result = TreeMenu ($ filas, $ fila ['id']).. "";}
Estas líneas de código de uso "if" y bucles para recorrer la información en la variable de PHP que contiene la estructura del menú de árbol. Si la fila es un padre con un valor de ID de cero, la función crea un nodo padre. Si la fila es un niño, se pone el ID del nodo padre y crea un nodo secundario ligado a su padre. Se llama a la función "TreeMenu" recursiva para comprobar cada fila de la variable de matriz PHP
7
Escriba el siguiente código:..
} $ Result = "
Estas líneas cierran el" bucle de "que se desplaza por cada fila de los resultados de MySQL, añadir algo de código HTML y devuelven el árbol de la función. La última línea se cierra el bloque de función "TreeMenu"
8
Escriba el siguiente código:.?
TreeMenu echo ($ menu);>
primera línea llama a la función "TreeMenu" y pasa la información de la base de datos MySQL a ella. A continuación, se imprime el árbol de la página Web. La segunda línea se cierra el bloque de código PHP.