PHP中while循环中奇偶交替

PHP中while循环中奇偶交替,php,while-loop,Php,While Loop,我一直在编写几行代码,但似乎无法让它正常工作。基本上,我想通过while循环在偶数和奇数表格样式之间切换。我做错了什么 似乎每次它都只在if()中循环 塔克斯 <?php include 'connect.php'; echo "<table id='hor-zebra'>"; $i = 0; while($row = mysql_fetch_array($result)) { if(i%2 == 0)

我一直在编写几行代码,但似乎无法让它正常工作。基本上,我想通过while循环在偶数和奇数表格样式之间切换。我做错了什么

似乎每次它都只在if()中循环

塔克斯

<?php
    include 'connect.php';
    echo "<table id='hor-zebra'>";
    $i = 0;
    while($row = mysql_fetch_array($result))
    {
       if(i%2 == 0)
       {
          echo "<tr class='even'>";
          echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
          echo "</tr>";
       }
       
       else
       {
          echo "<tr>";
          echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
          echo "</tr>";
       }
       $i++;
    }
    echo "</table>";

    mysql_close($con);

  ?>

您的
if
条件中有一个输入错误。应该是:

   if($i%2 == 0)
您还可以通过将类名分配给if和else块中的变量来节省一些击键:

   if($i%2 == 0)
   {
      $class = 'even';
   }
   else
   {
      $class = 'odd';
   }

   echo "<tr class='$class'>";
   echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
   echo "</tr>";
if($i%2==0)
{
$class=‘偶数’;
}
其他的
{
$class='奇数';
}
回声“;
“回声”$第[‘出发’]行。“✈ ". $行[“目的地]”;
回声“;
您忘记了一个“$”

 if(i%2 == 0)
应该是

 if(($i % 2) == 0)
替换此行

if(i%2 == 0)
…具有以下特点:

if($i % 2 == 0)

您还可以使用css.nth子属性

   tr:nth-child(even) {background: #CCC}
tr:nth-child(odd) {background: #FFF}

这可以进一步改进

foreach($post_array as $array => $row) {
    $class = ($array %2 == 0) ? 'even' : 'odd';
    echo '
    <tr class="'.$class.'">
        <td>' .$row['title']. '</td>
        <td>' .$row['content']. '</td>
        <td>' .$row['catid']. '</td>
        <td>' .$row['id']. '</td>
        <td>' . '<form action="edit.php?id='.$row['id'].'" method="post">
            <input type="hidden" name="id" id="id" value="'.$row['id'].'" />
            <input type="submit" name="edit" value="Edit" />
        </form>' . '</td>
        <td>' . '<form action="" method="post">
            <input type="hidden" name="id" id="id" value="'.$row['id'].'" />
            <input type="submit" name="delete" value="Delete" />
        </form>' . '</td>
    </tr>';
}
foreach($post\u数组为$array=>$row){
$class=($array%2==0)?“偶数”:“奇数”;
回声'
“.$row['title']”
“.$row['content']”
“.$row['catid']”
“.$row['id']”
' . '
' . '
' . '
' . '
';
}

CSS技巧为这个问题提供了一个非常优雅的解决方案。 它看起来像超级还原论C++魔术。本质上,他们这样做:

<div class="example-class<?php echo ($xyz++%2); ?>">

哈哈哈!!该死,我刚才在写代码的时候看到了……最好现在就睡觉!Thanx伙计们!1)不要在不需要的时候复制代码块。
echo““
就行了。2) 如果启用屏幕错误,您会立即注意到缺少的
$
的问题。Thanx!!这就是我晚睡时发生的事情……下次最好去睡觉:)thanx!我会采用你的方式做这件事!您甚至可以使用以下内容进一步改进此功能:
$class=($i%2==0)''偶数“:“奇数”如果不是,则应该是因为缺少不支持w3规范的浏览器