我正在使用我目前使用Codeigniter框架的Google APIs Client Library for PHP。当我在API代码中手动输入ISBN号时,我能够显示书名和图像。
表格中的每个结果都应显示来自Google图书的相应标题和图片。
任何帮助都将受到赞赏。此外,如果我的代码可以改进,我很乐意听,我还在学习:)。
我目前的工作代码如下;
控制器
class Items extends CI_Controller {
public function index() {
$data['items'] = $this->items_model->itemList();
// var_dump($data['items']) returns the following (http://pastebin.com/4XVS4Whb)
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("MyKeyHere");
$service = new Google_Service_Books($client);
$isbn = '0-7515-3831-0'; // <- I need to replace this with my DB array
$results = $service->volumes->listVolumes($isbn);
foreach ($results as $item) {
// var_dump($results) returns the following (http://pastebin.com/by50uLNq)
// var_dump($item) returns the following (http://pastebin.com/b4vdt38P)
$bookTitle = $item['volumeInfo']['title'];
$bookImage = $item['volumeInfo']['imageLinks']['smallThumbnail'];
$data['bookTitle'] = $bookTitle;
$data['bookImage'] = $bookImage;
}
$this->load->view('item_view', $data);
}
}
模型
class Items_model extends CI_Model {
public function itemList() {
$query = $this->db->get('item', 10);
return $query->result_array();
}
}
查看
<table>
<tr>
<td><strong>Title</strong></td>
<td><strong>Image</strong></td>
</tr>
<tr>
<td><?php echo $bookTitle ?></td>
<td><?php echo echo '<img src="'.$bookImage.'">';?></td>
</tr>
</table>
答案 0 :(得分:2)
因为您已经拥有了Collections数据,所以您只需将其传递给视图并迭代视图本身,如下所示:
...
$service = new Google_Service_Books($client);
$isbn = '0-7515-3831-0';
$results = $service->volumes->listVolumes($isbn);
//pass in the $results to you view
$this->load->view('item_view', $results);
并在视图上
foreach ($results as $item) : ?>
<td><?php echo $item['volumeInfo']['title']; ?></td>
....
<?php endforeach; ?>