2011-12-13 130 views
-1

我想从奇数,甚至从下面的XML与PHP交替行颜色。交替行颜色从XML数据源与PHP的HTML表格

<?php 
// load SimpleXML 
$books = new SimpleXMLElement('books.xml', null, true); 

echo <<<EOF 
<table> 
     <tr> 
       <th>Title</th> 
       <th>Author</th> 
       <th>Publisher</th> 
       <th>Price at Amazon.com</th> 
       <th>ISBN</th> 
     </tr> 

EOF; 
foreach($books as $book) // loop through our books 
{ 
     echo <<<EOF 
     <tr> 
       <td>{$book->title}</td> 
       <td>{$book->author}</td> 
       <td>{$book->publisher}</td> 
       <td>\${$book->amazon_price}</td> 
       <td>{$book['isbn']}</td> 
     </tr> 

EOF; 
} 
echo '</table>'; 
?> 

我该怎么做这个与PHP考虑到我的来源是XML?

回答

0

添加一个计数器,将其初始化为零,在每次迭代时递增并根据$counter%2(零与否)的值将不同的类放入tr。 (如($counter%2)?'odd':'even')。

0

事情是这样的:

for($i=0;$i<6;$i++) 
    { 
    if($i % 2) 
    { 
    // even 
    }else{ 
    // odd 
    } 
} 
0

这里有一个简单的方法。

<?php 
// load SimpleXML 
$books = new SimpleXMLElement('books.xml', null, true); 

echo <<<EOF 
<table> 
    <tr> 
     <th>Title</th> 
     <th>Author</th> 
     <th>Publisher</th> 
     <th>Price at Amazon.com</th> 
     <th>ISBN</th> 
</tr> 

EOF; 

$even = true; 

foreach($books as $book) // loop through our books 
{ 
    $class = $even ? 'even' : 'odd'; 
    $even = $even ? false : true; 

    echo <<<EOF 
    <tr class="$class"> 
      <td>{$book->title}</td> 
      <td>{$book->author}</td> 
      <td>{$book->publisher}</td> 
      <td>\${$book->amazon_price}</td> 
      <td>{$book['isbn']}</td> 
    </tr> 

EOF; 
} 
echo '</table>'; 
?>