2010-08-04 123 views
0

嘿,大家好,我正在使用simplexml从外部XML源中提取数据。即使限制显示结果的数量,我也有值。我认为我可以在网址中简单查询,例如“& page = 2”,但根据文档显示,这是不可能的。如何从XML中获取数据并将其分页(分页)

我下载了一个打算在MYSQL查询中使用的分页类,试图使用xml中的变量输出。但是输出结果是加载了xml的整个结果,而不是URL变量中指定的结果。

我想我可能会做的是首先计算结果然后分页,这正是我想要做的。你看到这个代码中有什么可以改进的地方吗?对不起,如果还不清楚,但可能与一些编码人员讨论,我可以看到隧道尽头有点亮,而且边缘更好一些。

所以这里是代码:

<? 
$url ="http://www.somedomain.com/cgi/xml/engine/get_data.php?ref=$ref&checkin=$checkin&checkout=$checkout&rval=$rval&pval=$pval&country=$country&city=$city&lg=$lg&orderby=$orderby&ordertype=$ordertype&maxrows=$maxrows"; 

//看到我已经定义URL中的行的最大NUM。这意味着解决这个问题的正确方法是从#提前开始计数?

$all = new SimpleXMLElement($url, null, true);  
$all->items_total = $hotels->id; 

//
require_once 'paginator.class.php'; //调用分页程序类

foreach($all as $hotel) // loop through our hotels 
{ 
    $pages = new Paginator; 

//创建一个新的分页程序 $ pages-> mid_range = 7; $ pages-> items_total = $ hotel-> id; //从XML

$rest = substr($hotel->description, 0, -150); // returns "abcde" 

     //echo <<<EOF 

    <table width="100%" border=0> 
     <tr> 
     <td colspan="2"><a href="{$hotel->rooms->room->bookUrl}">{$hotel->name}<span class="stars" widht="{$hotel->rating}">{$hotel->rating}</span></h2></a></a><p><b>Direccion:</b> <i>{$hotel->address}</i> - {$hotel->province}</p> 
     <td colspan="2"><div align="center">PRECIO: {$hotel->currencyCode} {$hotel->minCostOfStay</a> 


     </div></a></a> 

     </td> 

     </tr> 
     <tr> 
     <td colspan="2"> $rest...<a href="{$hotel->rooms->room->bookUrl}"><strong>ampliar información</strong></a></td> 

    <td valign="middle"><div align="center"><a href="{$hotel->rooms->room->bookUrl}"><img src="{$hotel->photoUrl}"></div></td> 

     </tr> 
     <tr> 
     <td colspan="2"><div align="center"><a href="{$hotel->rooms->room->bookUrl}"><strong>VER TODO SOBRE ESTE </strong></a></div></td> 
    <td colspan="2"><div align="center">$text</a></div></td> 

    </a></div></td> 

     </tr> 

    //EOF; 

    echo '</table>'; 
    $pages->paginate(); 

} 

echo $pages->display_pages();      

?>   
+0

任何有线索?认为我打电话正确的变种? – Flavio 2010-08-04 14:32:17

回答

1

你重挫您$all变量提取变量超出:

$all = new SimpleXMLElement($url, null, true); // used by the loop 
$all = new Paginator; // reset within the loop 
+0

对。已经改变了var的名字。无论如何它都会返回相同的问题 – Flavio 2010-08-04 13:56:34

相关问题