Вложение цикла, и я получаю пустую страницу (php)

StackOverflow https://stackoverflow.com/questions/1208688

Вопрос

Вот что я получил -

    $awards_sql_1 = mysql_query('SELECT * FROM categories WHERE section_id = 1') or die(mysql_error());
    $awards_rows_1 = mysql_num_rows($awards_sql_1);
    $awards_sql_2 = mysql_query('SELECT * FROM categories WHERE section_id = 2') or die(mysql_error());
    $awards_sql_3 = mysql_query('SELECT * FROM categories WHERE section_id = 3') or die(mysql_error());
    $awards_sql_4 = mysql_query('SELECT * FROM categories WHERE section_id = 4') or die(mysql_error());

    $i = 0;
    $records = mysql_num_rows($sections_query);
    while($row_sections = mysql_fetch_array($sections_query)) {
        echo "<h3>" . $row_sections['section_name'] . "</h3>";
        echo "<ul>";
        //while($categories = mysql_fetch_array($awards_sql_1)) {
        for ($i = 0; $i < $awards_rows_1; $i++) {
            echo "<li><strong>$categories['category_name']</strong>";

        }
        echo "</ul>";
    }

По какой-то причине, если я закомментирую for (), вложенный в while (), страница загрузится нормально, и я увижу все мои h3, однако всякий раз, когда я пытаюсь вложить for () или while () внутри оригинального while (), страница просто перезагружается при перезагрузке.

Что я делаю не так?

Это было полезно?

Решение

Вам необходимо поместить фигурные скобки вокруг переменных массива, встроенных в строки, в противном случае вы получите ошибку разбора.

 echo "<li><strong>{$categories['category_name']}</strong>";

http://php.net /manual/en/language.types.string.php#language.types.string.parsing

Другие советы

Попробуйте, вы получите ошибку:

<?php
error_reporting(E_ALL);
...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top