Показать сообщение отдельно
  #10 (permalink)  
Старый 14.01.2019, 09:57
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от garrip91
НУ ТАК, КАК ЖЕ МНЕ ПОНЯТЬ ИЗ КАКОГО ИМЕННО ИЗ ВСЕХ 4-Х ВЫШЕПРИВЕДЁННЫХ МАССИВОВ ("Array") БЕРЁТСЯ ЗНАЧЕНИЕ ПОЛЯ "id" И ВЫЗЫВАЕТСЯ УЧАСТКОМ КОДА "<?php echo $row['id']; ?>" ???
Для каждой строки из базы данных.

<?php

$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');

if (mysqli_connect_errno()) {
	printf("Соединение не установлено!", mysqli_connect_error());
	exit;
}

$mysqli->set_charset('utf8');

$query = $mysqli->query('SELECT * FROM movie');

while ($row = mysqli_fetch_assoc($query)) {
	echo "<pre>";
	print_r($row);
	echo "</pre>";
}

$mysqli->close();

?>


Каждый фильм представлен отдельным массивом, который присваивается переменной $row. Присвоение происходит в той строке, где написано while ($row = mysqli_fetch_assoc($query)) {.

Давайте посмотрим, что тут происходит.
Сначала у вас вызывается $query = $mysqli->query('SELECT * FROM movie');
Функция $mysqli->query выполняет запрос к базе данных. Возвращает FALSE в случае неудачи. В случае успешного выполнения запроса SELECT вернёт объект mysqli_result. Это можно представить как коробку с фильмами. 🎦
Вот, что в ней находится:

❌Матрица
❌Интерстеллар
❌Безумный Макс
❌Облачный атлас

Далее идёт вызов функции mysqli_fetch_assoc. Эта функция извлекает результирующий ряд в виде ассоциативного массива или NULL, если других рядов не существует. Т. е. из той коробки с фильмами берёт следующий не просмотренный фильм. Как выглядит этот ассоциативного массив вы уже видели при помощи print_r.

Так как же выполняется ...
while ($row = mysqli_fetch_assoc($query)) {
	echo "<pre>";
	print_r($row);
	echo "</pre>";
}
❓❓❓

Нужно проверить, надо ли заходить внутрь цикла.
Мы при помощи функции mysqli_fetch_assoc вытаскиваем первый не просмотренный фильм ( 🎞 Матрица 🎞 ) и присваиваем его переменной $row, далее проверяем условие, нужно ли зайти внутрь цикла, и поскольку фильм есть (TRUE), то мы заходим!

Вот, что на данный момент творится в коробке:

✔Матрица
❌Интерстеллар
❌Безумный Макс
❌Облачный атлас

Мы внутри тела цикла! В переменной $row у нас хранится информация о фильме 🎞 Матрица 🎞 и мы можем делать с ней всё, что хотим! (print_r($row); или $row['name']; )

Вот мы и подошли к концу тела цикла. Нужно проверить, надо ли заходить внутрь цикла опять.

Вот, что на данный момент творится в коробке:

✔Матрица
❌Интерстеллар
❌Безумный Макс
❌Облачный атлас

Мы при помощи функции mysqli_fetch_assoc вытаскиваем первый не просмотренный фильм ( 🎞 Интерстеллар 🎞 ) и присваиваем его переменной $row, далее проверяем условие, нужно ли зайти внутрь цикла, и поскольку фильм есть (TRUE), то мы заходим!

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
❌Безумный Макс
❌Облачный атлас

Мы внутри тела цикла! В переменной $row у нас хранится информация о фильме 🎞 Интерстеллар 🎞 и мы можем делать с ней всё, что хотим!

Вот мы и подошли к концу тела цикла. Нужно проверить, надо ли заходить внутрь цикла опять.

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
❌Безумный Макс
❌Облачный атлас

Мы при помощи функции mysqli_fetch_assoc вытаскиваем первый не просмотренный фильм ( 🎞 Безумный Макс 🎞 ) и присваиваем его переменной $row, далее проверяем условие, нужно ли зайти внутрь цикла, и поскольку фильм есть (TRUE), то мы заходим!

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
✔Безумный Макс
❌Облачный атлас

Мы внутри тела цикла! В переменной $row у нас хранится информация о фильме 🎞 Безумный Макс 🎞 и мы можем делать с ней всё, что хотим!

Вот мы и подошли к концу тела цикла. Нужно проверить, надо ли заходить внутрь цикла опять.

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
✔Безумный Макс
❌Облачный атлас

Мы при помощи функции mysqli_fetch_assoc вытаскиваем первый не просмотренный фильм ( 🎞 Облачный атлас 🎞 ) и присваиваем его переменной $row, далее проверяем условие, нужно ли зайти внутрь цикла, и поскольку фильм есть (TRUE), то мы заходим!

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
✔Безумный Макс
✔Облачный атлас

Мы внутри тела цикла! В переменной $row у нас хранится информация о фильме 🎞 Облачный атлас 🎞 и мы можем делать с ней всё, что хотим!

Вот мы и подошли к концу тела цикла. Нужно проверить, надо ли заходить внутрь цикла опять.

Вот, что на данный момент творится в коробке:

✔Матрица
✔Интерстеллар
✔Безумный Макс
✔Облачный атлас

Мы при помощи функции mysqli_fetch_assoc вытаскиваем первый не просмотренный фильм ( такого нету ) и присваиваем его переменной $row, далее проверяем условие, нужно ли зайти внутрь цикла, и поскольку фильма нету (FALSE), то мы не заходим!

А идём дальше по коду и выполняем $mysqli->close();
Ответить с цитированием