Сообщение от 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();