Php API.com xml提要上的分页每页25个结果,如何分页?
我已经在我的网站上设置了deploye.com xml提要。他们的API只允许每个查询有25个结果。如果结果超过25个,如何分页 我在网上的任何地方都没有找到令人满意或足够彻底的答案。我已经找了好几个星期了 以下是我代码中的内容: PHP:Php API.com xml提要上的分页每页25个结果,如何分页?,php,xml,pagination,Php,Xml,Pagination,我已经在我的网站上设置了deploye.com xml提要。他们的API只允许每个查询有25个结果。如果结果超过25个,如何分页 我在网上的任何地方都没有找到令人满意或足够彻底的答案。我已经找了好几个星期了 以下是我代码中的内容: PHP: // Indeed.com API URL parameters $url = 'http://api.indeed.com/ads/apisearch'.'?'; $publisher = 'xxxxxxxxxxxxxxxx
// Indeed.com API URL parameters
$url = 'http://api.indeed.com/ads/apisearch'.'?';
$publisher = 'xxxxxxxxxxxxxxxx';
$q = $query;
$location = '';
if (isset($_POST['location'])) {
$location = $_POST['location'];
} else {
$geo = geoCheckIP($_SERVER['REMOTE_ADDR']);
if (isset($geo) && ($geo != "not found, not found")) {
$location = $geo;
}
}
$sort = 'date';
$radius = '20';
$st = '';
$jt = '';
$start = '0';
$limit = '25';
$fromage = '';
$highlight = '0';
$filter = '1';
$latlong = '0';
$co = 'us';
$chnl = '';
$userip = $_SERVER['REMOTE_ADDR'];
$useragent = isset($_SERVER['HTTP_USER_AGENT']) ? ($_SERVER['HTTP_USER_AGENT']) : 'unknown';
$v = '2';
$xml = simplexml_load_file($url."publisher=".$publisher."&q=".$q."&l=".$location."&sort=".$sort."&radius=".$radius."&st=".$st."&jt=".$jt."&start=".$start."&limit=".$limit."&fromage=".$fromage."&highlight=".$highlight."&filter=".$filter."&latlong=".$latlong."&co=".$co."&chnl=".$chnl."&userip=".$userip."&useragent=".$useragent."&v=".$v);
HTML正文
<div class="paradiv">
<h1><?php echo $xml->totalresults . " " . $jobroll_title . " Near " . $location ?></h1>
<!-- BEGIN INDEED ORDERED LIST-->
<ol class="jobs">
<?php
foreach($xml->results->result as $result) { ?>
<li class="job <?php echo (++$liBgColor%2 ? 'odd' : 'even'); ?>">
<div class="title_wrapper">
<div id="jobtitle"><strong><a onmousedown="<?php echo $result->onmousedown;?>" rel="nofollow" href="<?php echo $result->url;?>" target="_blank"><?php echo $result->jobtitle;?></a></strong></div>
<div id="company"><?php echo $result->company;?></div>
</div>
<div id="snippet">
<?php $result->snippet = str_replace(" ", ". ", $result->snippet); echo $result->snippet;?>
</div>
<div id="location"><strong>Location:</strong> <?php echo $result->formattedLocationFull;?></div>
<div id="date"><span class="posted <?php echo (++$locationBgColor%2 ? 'even' : 'odd'); ?>">Posted <?php echo $result->formattedRelativeTime;?></span></div>
<div id="details-2"><strong><a onmousedown="<?php echo $result->onmousedown;?>" rel="nofollow" href="<?php echo $result->url;?>" target="_blank">Details</a></strong></div>
</li>
<?php } ?>
</ol>
<!-- END INDEED ORDERED LIST -->
<!-- THIS IS WHERE THE PAGINATION WILL DISPLAY -->
<div class="pagenumber"><?php echo "Page Number " . "<a href=\"" . (rtrim(dirname($_SERVER['PHP_SELF']), '/')) . "\">" . $xml->pageNumber . "</a>" ?></div>
</div>
说明&start=0&limit=25
的部分是如何根据xml的页码显示结果
例如:&start=0&limit=25
将是显示25个结果的第0页,&start=25&limit=25
将是显示下一个25个结果的第1页,&start=50&limit=25
将是显示其余25个结果的第2页。此示例基于xml提要中是否总共有75个结果
在我上面的//execute.com API URL参数中,我将其设置为从第0页开始,限制为25页。他们不允许超过25的限制。如果设置得更高,它将默认为25
$start = '0';
$limit = '25';
我需要一些帮助来实现一种使用上面我当前的PHP代码分页的方法。如何添加PHP代码中的内容?has\u more
如果xml中有25个结果,则函数返回true
$start = 0;
do {
$xml = simplexml_load_file(...$start...);
// process $xml
$start += 25;
} while(has_more($xml));
这是一个无法再复制的问题,因为我们没有数据可供使用。下一次调用时,只需将$start更改为25…@mummercor请给出一个示例。我会选择mysql,但我只是建议您了解mysql。我所做的是,每次用户访问您的页面时,他们都会使用PHP获得一个随机的uniq id,并存储为cookie。然后使用PHP创建一个使用该id的临时mysql表。使用该表存储所有XML数据。然后使用PHP分页教程列出数据----mysql临时表只是临时的,过一会儿会自动删除。整个过程非常快。谢谢你提供的信息,但我怀疑我是否会使用mysql。xml是从www.com加载的。我不允许将它存储在我自己的服务器上。酷,所以一旦我有了它,我如何在页面底部显示分页?它产生了500个错误PHP致命错误:调用undefined函数has_more()
@Mike,您需要编写检查$xml
的has_more
,并检查是否有25个结果。没有足够的编程技能来解决这个问题。@Mike,尝试一下
$start = 0;
do {
$xml = simplexml_load_file(...$start...);
// process $xml
$start += 25;
} while(has_more($xml));