Вывод из БД информации по выбранному полю (?)
Знак вопроса в названии - я не знаю, как правильно сказать, поэтому он там. Кривое объяснение в студию - Есть страница - books, она позволяет вывести из директории картинки, исходя их загруженных в БД. Нужно сделать так, чтобы под каждой картинкой писалось ее название и имя автора. У меня получилось как-то так, но это добро выдает ошибку.
Fatal error: Uncaught TypeError: Cannot access offset of type string on string in C:\xampp\htdocs\Library\books.php:14 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Library\books.php on line 14
Подскажите пожалуйста, как я могу исправить это и, может, сделать по-другому.
<?php
$book = "SELECT * FROM `book` WHERE `image`=:image"; // Ваш запрос в БД(поиск записи по id)
$arr = scandir('book');
foreach($arr as $v)
{
if(stripos($v,'.jpg')) echo '<a href="singlebook.php?image='.$v.'"><img src="book/'.$v."<br>{$book['Name']}</br><br>{$book['Author']}</br>/>'";
}
?>
До этого варианта - был другой. Где выводила данные с помощью цикла, однако он не сопоставлял картинки с данными об этой картинке и в итоге. В общем бред получался. Он выводил сначала все названия/имя автора, что есть в БД, а потом картинки. Под этим всем. То да не то, в общем. (Да, я осознаю, что это был другой запрос и оно не должно было работать как я хотела, но попытка не пытка?)
<?php
$book = "SELECT * FROM `book` WHERE `image`=:image"; // Ваш запрос в БД(поиск записи по id)
$sql = mysqli_query($connect, 'SELECT * FROM `book`');
$arr = scandir('book');
foreach($arr as $v)
{
if(stripos($v,'.jpg')) echo '<a href="singlebook.php?image='.$v.'"><img src="book/'.$v.'"/>';
while ($book = mysqli_fetch_array($sql)) {
echo
"<br>{$book['Name']}</br>" .
"<br>{$book['Author']}</br>";
}
}
?>