Всем привет. Есть код, который вывод из базы данных по очереди данные в таблицу Код (Text): while ($row = $stmt->fetch()){ $classes_arr = array( $row["Day"] => array( $row["time"] => array( "html" => "<b>".$row["name"]."</b><br>Room 404", // Display 'Phsychology: Room 404' "style" => "background-color: #66CCCC", // use style property to change the background color "interval" => $row["inter"] // set the interval for 2hrs ) ) ); }; Проблема в том, что после вывод первой строчки из базы данных, последующие вообще не отображаются в таблице. Где может быть ошибка? Помогите!
они из базы не поступают? debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
вроде поступают. Изначально код выглядел так PHP: $classes_arr = array( // Classes for monday (day 1) 1 => array( // Adds a class at 12pm (1200 hours) 1100 => array( "html" => "<b>Psychology</b><br>Room 404", // Display 'Phsychology: Room 404' "style" => "background-color: #66CCCC", // use style property to change the background color "interval" => 120 // set the interval for 2hrs ) ), // Classes for wednesday (day 3) 3 => array( // Adds a class at 11am (1100 hours) 1100 => array( "html" => "<b>English 101</b><br>Room 235", // Display 'English 101: Room 235' "interval" => 120 // set the interval for 2hrs ) ) ); Но я решил сделать через БД, чтобы какждый раз в файле не редактировать и не добавлять новое событие
@Cast200 отладка помогла? Только ты видишь код и у тебя есть база, значит самостоятельно можешь найти проблему. Всё что ты показал, мало чем может помочь на подсказать в чём проблема.
Понял в чем ошибка, но теперь не знаю как сделать правильно. Вообщем в этом коде PHP: while ($row = $stmt->fetch()){ $classes_arr = array( $row["Day"] => array( $row["time"] => array( "html" => "<b></b><br>Room 404", // Display 'Phsychology: Room 404' "style" => "background-color: #66CCCC", // use style property to change the background color "interval" =>120 // set the interval for 2hrs ) ) ); }; Эта строка PHP: while ($row = $stmt->fetch()){ должна быть после PHP: $classes_arr = array( , но если я меняю местами, как нужно, то вылезает ошибка Parse error: syntax error, unexpected 'while' (T_WHILE), expecting ')' Подскажите как можно решить?
немного не то. Мне нужно чтобы цикл начинался после PHP: $classes_arr = array( ,а не перед. Как это сделать:?
Что значит начинался? У тебя есть инструмент по манипулированию многомерными массивами. Просто вручную создай нужный массив, который ты хочешь получить в результате. Сразу станет понятно как его создавать уже с помощью программы динамически.
Не знаю, правильно ли понял, но вот: PHP: $classes_arr = array(); while($row = $stmt->fetch()) { $classes_arr[$row["Day"]] = array( $row["time"] => array( "html" => "<b>{$row["name"]}</b><br>Room 404", // Display 'Phsychology: Room 404' "style" => "background-color: #66CCCC", // use style property to change the background color "interval" => $row["inter"] // set the interval for 2hrs ) ); } и не нужно ставить в конце цикла while{}; <---точку с запятой. Избыток. Ошибок не будет если сделаешь даже так ;;;;;;;; - но не нужно так делать и не нужно в конце зарезервированных конструкций, пользовательских функций, структур (классов) в конце ставить точку с запятой. А тут так сразу скажет ошибка: если не поставить, ну а почему так, думаю догадаешься. PHP: $f = function() { }