1

FlickrAPIによって返されたいくつかの画像を表示するWebページを作成しようとしています。しかし、何千もの画像が返されるので、同じWebページに画像を配置することはできません。これは、人々が常にスクロールする必要があるためです。ですから、例えば「Page 1 2 3 next」のように、通常のように別々のページに入れたいと思います。しかし、これを実装する方法がわかりません。私が考えたのは、JavaScriptを使用して、ユーザーが選択したページを通知し、この番号をAPIリクエストに送信することでした。ただし、APIはphpで処理されており、JSからPHPに値を送信する方法がわからないため、この問題はまだ解決していません。誰でも考えてもらえますか!ありがとうございました!

4月

4

2 に答える 2

1

この問題の最終的な解決策は次のとおりです。FlickrAPI呼び出しのphpコード:

$page = 1;
$tag1 = "puppy"; 
$tag2 = "cute";
$flickrUrl = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=blablablabla&tag_mode=all&tags=$tag1\',\'$tag2&per_page=20&page=$page";

解決策は、$ pageを特定の番号に割り当てる代わりに、次のステートメントを使用することです。

$page = isset($_GET['page']) ? $_GET['page'] : 1;

これを行うことにより、phpファイルはFlickrAPIを介して直接取得されたページを取得します。

次に、たとえばいくつかのDOM要素を使用します

「次のページ」と「前のページ」へのリンクとして、さまざまなページをナビゲートするのに役立ちます。

echo "<p id=\"nav_bar\">";
$back_page = $page - 1; 
$next_page = $page + 1; 

echo "<a href='?page=1'>First Page</a>";
if($page > 1) { 
     echo "<a href='?page=$back_page'>&laquo; <strong>Prev</strong></a>"; 
} 
// if current page is not last page
if($page != $page_count) { 
     echo "<a href='?page=$next_page'><strong>Next</strong> &raquo;</a>";
} 
$last_page = $page_count;
echo "<a href='?page=$last_page'>Last Page</a>";
echo "</p>";

最後に、助けてくれたすべての人に感謝します。

于 2013-02-28T21:16:59.463 に答える
0

私はflickrapiに慣れていないので、どのようにページ付けしたいか正確にはわかりませんが、投稿した内容を見るだけで、ajaxを使用してAPI呼び出しを要求できます。したがって、h4で次のようなことを行います。

<h4 id=\"num_imgs\">
    Page <span data-page="1">1</span> | 
         <span data-page="2">2</span> | 
         <span data-page="3">3</span> | 
         <span data-page="4">4</span> | 
         <span data-page="5">5</span>
</h4>

次に、次のようなjqueryish呼び出しを実行します。

$('h4 span').click(function(){
    getImages($(this).data('page'));
}

次に、画像を取得して処理/ユーザーに表示するjavascript画像ハンドラー関数を用意します。

getImages(page){
    var flickrUrl = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=blablablabla&tag_mode=all&tags=$tag1\',\'$tag2&per_page=20&page="+page;
    $.get(flickrUrl,function(data){
        //PROCESS IMAGES
    });
}

この種の設定が理にかなっていることを願っています。それはあなたがやろうとしていることのようです。ページを動的にして、タグを渡すこともできます。その場合、ページを設定するためにPHPは実際には必要ありませんが、ユーザーがタグを選択する方法によっては、PHPを介して設定することもできます。私はおそらくjavascriptを介してwhileのことをします。

于 2013-02-24T01:03:32.550 に答える