Google Книги отображают миниатюру в Codeigniter

Используя Codeigniter 3, я хотел бы отобразить таблицу HTML, состоящую из некоторых деталей книги, а именно Идентификатор предмета, изображение предмета а также Название предмета. Я хотел бы заполнить изображение товара через Google Книги.

Пока мой код работает, в том смысле, что я могу извлечь все данные из базы данных MySQL и отобразить их в простой HTML-таблице. Однако я не уверен, как заполнить поле изображения в таблице HTML соответствующим изображением из Google Книг.

Я получаю ISBN из своей базы данных. Могу ли я использовать это для поиска URL-адреса Google Книг?

Я пытался создать foreach как вы увидите, но это не работает, поэтому я прокомментировал это. Сообщение об ошибке, которое я получаю в foreach является;

Сообщение: неопределенный индекс: элементы в строке 23

Мой текущий код ниже;

модель

class Items_model extends CI_Model {
public function itemList() {
$query = $this->db->get('item', 10);
return $query->result_array();
}
}

контроллер

class Items extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->model('items_model');
$this->load->database();
}

public function index() {
$data['items'] = $this->items_model->itemList();
//foreach ($data['items'] as $row)
//{
//  $page = //file_get_contents("https://www.googleapis.com/books/v1/volumes?q=isbn:".$row['item_isbn']);
//  $bookData = json_decode($page, true);
//  $data['BookImage'] = '<img src="'.$bookData['items'][0]['volumeInfo']['imageLinks']['thumbnail'].'" alt="Cover">'; <-- line 23
//}
$this->load->view('item_view', $data);
}
}

Посмотреть

<table>
<tr>
<td><strong>ID</strong></td>
<td><strong>ISBN</strong></td>
<td><strong>Image</strong></td>
<td><strong>Title</strong></td>
</tr>

<?php foreach ($items as $item): ?>
<tr>
<td><?php echo $item['item_id']; ?></td>
<td><?php echo $item['item_isbn'] ?></td>
<td><?php // what goes here? ?></td>
<td><?php echo $item['item_title']; ?></td>
</tr>
<?php endforeach; ?>
</table>

Любая помощь приветствуется.

1

Решение

Вам нужно использовать API Googlebooks, чтобы получить идентификатор вашей книги.

Сначала вы должны сделать запрос следующим образом:

foreach ($items as $item):
$data = @file_get_contents('https://www.googleapis.com/books/v1/volumes?q=isbn+".$yourISBN."');
$data = json_decode($data);
$data = $data->items[0]->id;
// Next you have to insert $data(the item_id) inside of one of the
followings links:
//  "smallThumbnail":  "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
//  "thumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api",
//  "small": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=2&edge=curl&source=gbs_api",
//  "medium": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=3&edge=curl&source=gbs_api",
// "large": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=4&edge=curl&source=gbs_api",
//  "extraLarge": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=6&edge=curl&source=gbs_api"
//Example:
$thumbnail = "https://books.google.com/books?id=".$data."&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api";
endforeach;

И тогда у вас есть свой эскиз.

Обратите внимание, что ваш идентификатор должен иметь этот формат «zyTCAlFPjgYC».
Посмотрите на доктор

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]