2011-12-13 27 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>'; 
?>