Цикл по изображениям - PullRequest
0 голосов
/ 14 мая 2011

Я использую API изображений Google для получения некоторой информации об изображениях. Единственная проблема - понимание 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++; }
    }
};

Как манипулировать с n и k? Потому что иногда он возвращает одни и те же картинки (езда на велосипеде).

Вы можете найти мой пример кода на странице: http://95.134.128.173/image.uploader.php (просто нажмите «Поиск»).

1 Ответ

0 голосов
/ 14 мая 2011

Вы имеете в виду, когда вы нажимаете клавиши N или K, он перемещается вперед и назад.

Если это так, вам нужно использовать JavaScript, если вы не возражаете против их использования Alt + N и Alt + K, то вы можете использовать атрибут accesskey = "n" на (уже существующих?) Кнопках HTML для следующего и предыдущего.

Если нет, тогда я не понимаю, о чем ты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...