使用PHP显示' Google Books`项目

时间:2014-09-04 22:54:03

标签: php json

我正在研究使用Google Books API的方法。 使用此代码具有预期的结果。

$page = file_get_contents("https://www.googleapis.com/books/v1/volumes?q=julio+verne&maxResults=40");

$data = json_decode($page, true);
for($a = 0 ; $a <= 39 ; $a++) {
$img = $data['items'][$a]['volumeInfo']['imageLinks']['thumbnail'];
print '<img src="'.$img.'" alt="ScanLine"/>';
echo '<br>';
echo "Title = " . $data['items'][$a]['volumeInfo']['title']; 
echo '<br>';
echo "Authors = " . @implode(",", $data['items'][$a]['volumeInfo']['authors']);
echo '<br>';
echo "Editora = " . $data['items'][$a]['volumeInfo']['publisher'];
echo '<br>';
echo "id = " . $data['items'][$a]['id'];
echo '<br>';
echo "Resumo = ";
echo "<p>" . $data['items'][$a]['volumeInfo']['description'];
echo '</p><br>';

}

另一方面,从代码实现和使用代码不起作用。 我的带有表单的页面包含以下代码:

<form action="action.php" method="POST">
        <div class="form-group">
                <div class="campos">
                        <label>
                         Search
                        </label>
                        <input type="text" name="search"  style="margin-right: 10px; width:250px; float:left" class="input-field" placeholder="Title, Author..."  />    
                        <input type=hidden name=numResults value="&maxResults=40">
                        <button type="submit" id="search" class="btn btn-default">Search</button>
                </div>
        </div>
</form>

我的行动有这段代码:

 $var1 = "https://www.googleapis.com/books/v1/volumes?q=";
 $var2 = urlencode($_POST['search']);
 $var3 = "&maxResults=40";
 $str = str_replace(" ", "+", $var2);
 $page = $var1.$str.$var3;
 $data = json_decode($page, true);
 echo $page;
 echo '<br>';
 for($a = 0 ; $a <= 39 ; $a++) {
 $img = $data['items'][$a]['volumeInfo']['imageLinks']['thumbnail'];
 print '<img src="'.$img.'" alt="ScanLine"/>';
 echo '<br>';
 echo "Title = " . $data['items'][$a]['volumeInfo']['title']; 
 echo '<br>';
 echo "Authors = " . @implode(",", $data['items'][$a]['volumeInfo']['authors']);
 echo '<br>';
 echo "Editora = " . $data['items'][$a]['volumeInfo']['publisher'];
 echo '<br>';
 echo "Resumo = ";
 echo "<p>" . $data['items'][$a]['volumeInfo']['description'];
 echo '</p><br>';
  }

什么一定是错的? 有什么建议吗? 感谢巴西

1 个答案:

答案 0 :(得分:1)

在第二个示例中,您没有调用file_get_contents()。所以$page只是网址。

$page = file_get_contents($var1.$str.$var3);