Проблема при извлечении страниц из базы данных - PullRequest
0 голосов
/ 17 ноября 2018

У меня проблемы с перетаскиванием страниц в PHP и HTML, которые я использовал: -

    <li>
     <!-- Pulling Categories from the database 
     dynamically -->
<?php 
    $nav_subjects = find_all_subjects(['visible' => $visible]);

    while($nav_subject = 
        mysqli_fetch_assoc($nav_subjects)) { 
?>
    <span class="opener"><?php echo h($nav_subject['menu_name']); ?></span>

Который динамически извлекает категории из базы данных и отображает их со стрелкой вниз, как я хотел, но страницы не будут отображаться под ними, вот код, который я использовал для этого бита: -

<!-- Categories listed correctly let's pull the pages for each one -->
<?php 
    if($nav_subject['id'] == $subject_id) {
        $nav_pages = find_pages_by_subject_id($nav_subject['id'], ['visible' => $visible]); 
        while($nav_page = mysqli_fetch_assoc($nav_pages)) { 
?>
    <ul>
    <li>
    <a href="<?php echo url_for('index.php?id=' . h(u($nav_page['id']))); ?>"><?php echo h($nav_page['menu_name']); ?></a>
    </li>
    </ul>
<?php   } // while $nav_pages 
    } // if($nav_subject['id'] == $subject_id) 
  } // while $nav_subjects ?>
    </li>
<?php 
    mysqli_free_result($nav_subjects);
    mysqli_free_result($nav_pages); 
?>

Я загружаю SQL с другой страницы, которая загружается правильно, так как категории загружаются и отображаются правильно.

Буду благодарен за любые идеи.

Я также пытался отобразить результат sql, но ничего не отображается.

Теперь у меня работает со следующим кодом: -

                                        <li>

                                        <?php $nav_subjects = find_all_subjects(['visible' => $visible]);
                                             while($nav_subject = mysqli_fetch_assoc($nav_subjects)) {?>
                                                 <span class="opener"><?php echo h($nav_subject['menu_name']); ?></span>
                                        <ul>
                                        <?php if($nav_subject['id'] == $subject_id);
                                        $nav_pages = find_pages_by_subject_id($nav_subject['id'], ['visible' => $visible]);
                                         while($nav_page = mysqli_fetch_assoc($nav_pages)) { ?>
                                            <li><a href="<?php echo url_for('index.php?id=' . h(u($nav_page['id']))); ?>"><?php echo h($nav_page['menu_name']); ?></a></li>


                                    <?php } ?>
                                <?php } ?>
                                        </ul>

Но теперь он перечисляет второстепенных предметов как детей первого вместо отдельных своих предметов.

********* *********** Решенный 1018 *

пожалуйста, сообщите, если вы считаете, что код мог бы быть лучше, чем я сейчас пользуюсь: -

                                        <li>
                                        <?php $nav_subjects = find_all_subjects(['visible' => $visible]);?>
                                        <?php while($nav_subject = mysqli_fetch_assoc($nav_subjects)){?>
                                             <span class="opener"><?php echo h($nav_subject['menu_name']);?></span>
                                        <ul>
                                        <?php if($nav_subject['id'] == $subject_id);
                                        $nav_pages = find_pages_by_subject_id($nav_subject['id'], ['visible' => $visible]);
                                         while($nav_page = mysqli_fetch_assoc($nav_pages)) { ?>
                                         <a href="<?php echo url_for('index.php?id=' . h(u($nav_page['id']))); ?>">
                                                <?php echo h($nav_page['menu_name']); ?></a>
                                            <?php } ?>
                                                <?php mysqli_free_result($nav_pages); ?>
                                        </ul>
                                        <?php } ?>
                                            <?php mysqli_free_result($nav_subjects); ?>
                                    </li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...