Показ данных из БД на странице сайта
Мучаюсь с проблемой.
Суть такова, есть 3 таблице в БД.
- Книги (books)
- Пользователи (users)
- Избранные книги (favorite).
Структуру БД прилагаю.
Дело в том, что после добавления отдельной в книги в избранное пытаюсь отобразить все избранные для отдельного пользователя на странице. Проверка на пользователя - проходит успешно (отображается правильное количество книг), но сами книги отображаются не те, которые нужны, не тот id, а берутся какие-то вообще другие.
Буду рад вашей помощи, заранее большое спасибо!
В файле конфига получаются данные из БД
$db_users = mysqli_fetch_all(mysqli_query($connect, "SELECT * FROM users"));
$db_books = mysqli_fetch_all(mysqli_query($connect, "SELECT * FROM books"));
$db_favorite = mysqli_fetch_all(mysqli_query($connect, "SELECT * FROM favorite"));
Файл "Избранное".
<?php
if ( !isset($_COOKIE['u']) )
header('Location: index.php');
require("setting.php");
require("components/header.php");
for ( $k = 0; $k < count($db_users); $k++ ) {
if ( $db_users[$k][0] == $_COOKIE['u'] ) {
$user_id = $db_users[$k][0];
}
}
?>
<div class="container center">
<h2>Избранные уроки</h2>
</div>
<div class="container center margin-40">
<p>
<a href="books.php">Все темы</a>
</p>
</div>
<div class="container center">
<?php
for ( $i = count($db_favorite); $i >= 0; $i-- ):
if ($user_id == $db_favorite[$i][1]):
?>
<div class="card-book">
<div class="card-book__img"><img src="<?php echo $db_books[$i][3] ?>" alt="Обложка урока <?php echo $db_books[$i][1] ?>"></div>
<h5 class="card-book__header str_limit_3"><?php echo $db_books[$i][1] ?></h5>
<a href="book.php<?php echo '?book_id=' . $db_books[$i][0] . '"' ?>" class="card-book__link">Перейти</a>
</div>
<?php endif; endfor; ?>
Источник: Stack Overflow на русском