使用PHP和MySQL我想根据我在数据库中的ISBN来检索书籍封面列表。
根据this answer,我可以使用以下网址;
https://www.googleapis.com/books/v1/volumes?q=isbn:0751538310
这很好用,并返回JSON响应。但是我想为10本书做这个,而不仅仅是一本 - 我怎么做到这一点?
到目前为止我的代码;
模型
public function itemList() {
$query = $this->db->get('item', 10);
return $query->result_array();
}
var_dump($this->items_model->itemList())
返回https://pastebin.com/nY5bFMmw
控制器
$page = file_get_contents("https://www.googleapis.com/books/v1/volumes?q=isbn:0751538310");
// I need to replace the above ISBN with the 10 from my database
$data = json_decode($page, true);
echo "Image = " . '<img src="'.$data['items'][0]['volumeInfo']['imageLinks']['thumbnail'].'" alt="Cover">';
// This successfully prints 1 image. I need 10.
查看
// What do I need to do in order to print 10 different images
<table>
<tr>
<td><strong>Image</strong></td>
</tr>
<tr>
<td>// image here x 10</td>
</tr>
</table>
我想我需要在某个地方foreach
循环,但我不确定如何或在哪里?
答案 0 :(得分:0)
编辑:添加var_dump后。
最简单的方法就是这样
$itemList = $this->items_model->itemList()
$data = [];
foreach ($itemList as $book) {
$data[] = json_decode(
file_get_contents("https://www.googleapis.com/books/v1/volumes?q=isbn:{$book['item_isbn']}")
);
}
然后你可以循环$ data来生成你的html。
请注意,Google端到端可能会有一些特殊的端点,但我从未使用过该API。