2
I have in mysql two tables (subjects and pages), the table pages has a field (assunto_id), which relates which subject is that page.
I would like to mount a menu with submenu in bootstrap
This is Table Subjects
ID nome_menu_assunto
1 Titulo_1
2 Titulo_2
3 Titulo_3
4 Titulo_4
This is Table pages
ID assunto_id titulo_menu_pagina
1 2 Titulo...
2 3 Titulo...
3 3 Titulo...
4 4 Titulo...
5 2 Titulo...
6 4 Titulo...
7 3 Titulo...
8 2 Titulo...
This is the script I have in php
$assuntos = "SELECT * FROM assuntos";
$resultado_assuntos = mysqli_query($conexao,$assuntos);
while ($linha_assunto = mysqli_fetch_array($resultado_assuntos)) {
$subpagina = "SELECT * FROM paginas WHERE assunto_id = {$linha_assunto['id']}";
$resultado_subpagina = mysqli_query($conexao,$subpagina);
while ($linha_subpagina = mysqli_fetch_array($resultado_subpagina)) {
if (!isset($linha_subpagina['assunto_id'])) {
echo "<li><a href=\"/{$linha_assunto['nome_menu']}\">{$linha_assunto['nome_menu']}</a></li>";
} else {
echo "<li class=\"dropdown\">";
echo "<a href=\"\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-expanded=\"false\">{$linha_assunto['nome_menu']} <span class=\"caret\"></span></a>";
echo "<ul class=\"dropdown-menu\" role=\"menu\">";
while ($linha_subpaginas = mysqli_fetch_array($resultado_subpagina)) {
echo "<li><a href=\"/{$linha_subpaginas['nome_menu']}\">{$linha_subpaginas['nome_menu']}</a></li>";
}
echo "</ul>";
echo "</li>";
}
}
}
However, this way, it shows as menu, only the titles that have indication in the menu assunto_id, and does not show all submenus,
I think you’re repeating things this way. You should put the subject echo outside the while of the subpage, ie just below the first while, and not within the second while as it did.
– dm707