循环显示图像

时间:2011-05-13 21:43:28

标签: php json api

我正在使用谷歌图片API来检索有关图像的一些信息。唯一的问题是对start param的理解。这是我的主要周期:

// $num - necessary number of images to find
function doGoogle($query, $num) 
{

    // Search images until we have need number
    $i = $k = $n = 0;
    while(count($resultStorage) < $num)
    {
        $base_url = 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0';
        $url = $base_url;
        if ($i == 0)
            $url .= '&imgsz=large&q='.urlencode($query).'&start=00';
        else
            $url .= '&imgsz=large&q='.urlencode($query).'&start='.$k.$n;

        // Request the page from google's api
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_URL, $url);
        $json = curl_exec($curl);
        curl_close($curl);
        $data = json_decode($json);

        echo '<div style="clear: both"></div>Page: <b>' . $i . '</b><br />Url: <b>' . $url . '</b><br />';

        // Cycle through the list of result images
        foreach($data->responseData->results as $v)
        {
            // If we already have neccessary number of images
            if (count($resultStorage) == $num) break;

            // Show it up
            echo "<div style='float: left'><a href='{$v->unescapedUrl}'><img src='{$v->tbUrl}' /></a></div>";
        }
        $i++;
        $k++;
        if ($k == 9) { $k = 0; $n++; }
    }
};

如何使用nk进行操作?因为有时它会返回相同的图片(骑自行车)。

您可以在页面上找到我的示例代码:http://95.134.128.173/image.uploader.php(只需点击“搜索”)。

1 个答案:

答案 0 :(得分:0)

你的意思是当你按N或K键时它会前进和后退。

如果是这种情况你将需要使用JavaScript,如果你不介意使用Alt + N和Alt + K,那么你可以在(已经存在的?)html按钮上使用accesskey =“n”属性对于下一个和上一个。

如果没有,那么我不理解你的意思。