Codeigniter 3を使用して、書籍の詳細、つまりアイテムID、アイテム画像およびのアイテムタイトルからなるHTMLテーブルを表示したいと考えています。 Googleブックスを使用してアイテム画像を作成したいと思います。Google BooksのサムネイルをCodeigniterで表示
これまでのところ、私のコードは、MySQLデータベースからすべてのデータを取得し、単純なHTMLテーブルに表示できるという意味で、動作します。しかし、Googleブックスの対応する画像をHTML表の画像フィールドに取り込む方法がわかりません。
私のデータベースからISBNを取得していますが、これを使用してGoogleブックスのURLを検索できますか?
あなたが見るように私は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>
すべてのヘルプは高く評価されます。
感謝を見て持っていますが、私は今、次のエラー '未定義のインデックス受け取る:id.''のvar_dump($データ) '戻っ' NULL' –
は、私はあなたに間違ったインデックスを与えた私の最後の編集を参照してください。 idのために – totor59