php foreach multilevel menu

0

Hellofriends,howareyou?

IhavethefollowingproblemIhavethisdatabaseneedtocreateamenuwithmultilevelforthesiteblog,Icreatedonewiththefollowingcode:

<ulclass="nav navbar-nav" style="display: block;">
        <?php
        $catsPassadas = array();
        foreach ($blog_categorias as $key => $blog_categoria) {
            $blog_categorias_filhasQ = $pdo->prepare('SELECT * FROM blog_categoria WHERE id_pai = :id_pai ORDER BY nome ASC');
            $blog_categorias_filhasQ->bindValue(':id_pai', $blog_categoria['id_pai'], PDO::PARAM_INT);
            $blog_categorias_filhasQ->execute();
            $blog_categorias_filhas = $blog_categorias_filhasQ->fetchall();
            if($blog_categorias_filhas){
                print_r($blog_categorias_filhas);
                echo '<br><br><br>';
        ?>
            <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?=$blog_categoria['nome']?>
                <span class="caret"></span></a>
                <ul class="dropdown-menu">
        <?php
                foreach ($blog_categorias_filhas as $keyf => $blog_categoria_filha) {
                    if (in_array($blog_categoria['id'], $catsPassadas)) {
                        continue;
                    }
                    $catsPassadas[] = $blog_categoria_filha['id'];
        ?>
                    <li><a href="#"><?=$blog_categoria_filha['nome']?></a></li>
        <?php
                }
        ?>
                </ul>
            </li>       
        <?php
            }else{
                if (in_array($blog_categoria['id'], $catsPassadas)) {
                    continue;
                }
                $catsPassadas[] = $blog_categoria['id'];
        ?>
            <li class="active"><a href="#"><?=$blog_categoria['nome']?></a></li>
        <?php
            }
        }
        ?>
      </ul>

But I did not succeed, how can I be solving this problem?

Thank you very much

    
asked by anonymous 17.04.2018 / 16:04

1 answer

0

I was able to solve it, I was doing the sql query in a wrong way comparing id_pai with id_pai where it should be id_pai with id

$blog_categorias_filhasQ = $pdo->prepare('SELECT * FROM blog_categoria WHERE id_pai = :id ORDER BY nome ASC');
            $blog_categorias_filhasQ->bindValue(':id', $blog_categoria['id'], PDO::PARAM_INT);
            $blog_categorias_filhasQ->execute();
    
17.04.2018 / 16:28