<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

При выборке данных из базы в цикле происходит зацикливание
01.04.2012 23:16:44 При выборке данных из базы в цикле происходит зацикливание Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, есть вот такой код для работой с БД (Класс Mysql)
class Mysql extends Mysqli{
public function connect() {
$this->con = new Mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
return $this->con;
}
public function getCountries() {
$query = Mysql::connect()->query("SELECT id_country, country_name_ru FROM country_ ORDER BY country_name_ru ASC"->fetch_array();
return $query;
}}

И соответственно класс конструктора главной страницы
function countriesConstruct() {
while ($row = Mysql::getCountries()) {
//$country_id = $row['id_country'];
//$country_name = $row['country_name_ru'];
$countries = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/temp/option.tpl";
$countries = str_replace("{value}", $row['id_country'], $countries);
$countries = str_replace("{name}", $row['country_name_ru'], $countries);
}
return $countries;
}
function registrationConstruct() {
PageDetails::headerConstruct($this->get);
PageDetails::fastMenuConstruct();
$reg = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/temp/reg.tpl');
$reg = str_replace("{counries}", $this->countriesConstruct(), $reg);
echo $reg;
PageDetails::footerConstruct();
}

Так вот изза чего может быть зацикливание? Проблема именно в том, что идёт зацикливание, такое уже наблюдал ещё в процедурном коде, что если while получает данные, которые прошли через fetch_array(), а не были переведены в массив именно в условии цикла, то происходило зацикливание. Заранее спасибо
Профиль
01.04.2012 23:19:14 При выборке данных из базы в цикле происходит зацикливание Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Конечно, зацикливание. Зачем постоянно выполнять один и тот же запрос? Вытащили все необходимые данные из базы, а затем уже fetch_array() в while().
Профиль
01.04.2012 23:22:12 При выборке данных из базы в цикле происходит зацикливание Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Лпс, точно)) А это не будет дурной чертой при работе в ооп? Ведь получается цикл выполняет лишнюю работу?
Профиль
01.04.2012 23:29:10 При выборке данных из базы в цикле происходит зацикливание Сообщение #4
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

И как вообще в while это сделать? Уже практически всё попробовал
Профиль
02.04.2012 00:04:11 При выборке данных из базы в цикле происходит зацикливание Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Получаете result_set, затем в while перебираете все элементы (с помощью fetch_array()). Когда fetch_array() возвращает false, автоматически происходит выход из цикла.
Профиль