使用curl加载下一个json页面导致php

时间:2016-11-02 04:29:46

标签: php json api curl pagination

我正在使用PHP和cURL从网站检索API信息。我有一个循环显示我的页面上的所有信息,工作得很好。我遇到的问题是,我的结果页面每页显示10个项目。 API提供分页,在其中为我提供第2页,第3页的下一页链接URL等。我找不到我的生活,如何使这个下一个链接加载第2页信息并将其显示在同一页面上(听起来很容易)。我尝试了很多不同的技术,迄今为止都没有。我目前卡在第1页加载的位置并显示第1页和第2页数据。我想将它用于您单击下一个链接的位置,它会使用您的第2页数据刷新页面并删除第1页数据。非常感谢任何帮助......这是我目前的代码......

    <section>
        <form method="post" action="<?php echo $PHP_SELF;?>" id="searchForm">
                <input type="text" name="searchText" id="searchText" placeholder="e.g. Haze.." value=""/><br>
<button type="submit" name="submit" id="searchButton" form="searchForm">Search</button>
<?php
    if (isset($_POST['submit'])){
    $url = 'https://www.cannabisreports.com/api/v1.0/strains/search/:' . urlencode ($_POST["searchText"]);
    $curl = curl_init();
    curl_setopt ($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('X-API-Key : XXXXXXXXXXXXXXXXXXXXXXXX'));
    curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1 );
    $result = curl_exec($curl);
    curl_close($curl);
    $jsonobj = json_decode($result);
    echo('<ul id="resultList">');
    foreach($jsonobj->data as $value)
    {

    echo('<li class="resultListItem">');
    echo('<img src="' . $value->image . '">');

    echo '<br>';
    echo $value->seedCompany->name;
    echo '<br>';
    echo $value->genetics->names;

    echo '<br>';
    echo $value->reviews->count;
    echo("</li>");
    }
    echo("</ul>");
 //********code for next page 
echo('<a href="index.php?nextPage"> Next </a>');
    if(isset($_GET['nextPage'])) {
        header('location: http://www.strains.blazedmaps.com ');
        $urlNext = $jsonobj->meta->pagination->links->next;
        $curlNext = curl_init();
        curl_setopt ($curlNext, CURLOPT_URL, $urlNext);
        curl_setopt ($curlNext, CURLOPT_HTTPheader, array('X-API-Key : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'));
        curl_setopt ($curlNext, CURLOPT_RETURNTRANSFER, 1 );
        $resultNext = curl_exec($curlNext);
        curl_close($curlNext);
        $jsonobjNext = json_decode($resultNext);

        echo('<ul id="resultList">');
    foreach($jsonobjNext->data as $value1)
    {

    echo('<li class="resultListItem">');
    echo('<img src="' . $value1->image . '">');

    echo '<br>';
    echo $value1->seedCompany->name;
    echo '<br>';
    echo $value1->genetics->names;

    echo '<br>';
    echo $value->reviews->count;
    echo("</li>");
    }
    echo("</ul>");
 }

 }



 ?>



   </form>


  </section>

0 个答案:

没有答案