php将类赋予3个div,然后跳过3

php将类赋予3个div,然后跳过3,php,Php,我有一张桌子,一行三个分区,然后是另一行,或者三个分区,然后是另一个,然后是另一个 但我要做的是突出每一行。每行包含3个div 因此,第一行将是.mydiv.event,然后.event将是灰色的。然后下一行将是.mydiv.odd,然后.odd将是白色 我正在使用css-tricks.com$xyz++%2中的代码使每个其他div成为不同的类 感谢所有的帮助 这是我的密码 $get_new_games = mysql_query("SELECT game_title,game_descript

我有一张桌子,一行三个分区,然后是另一行,或者三个分区,然后是另一个,然后是另一个

但我要做的是突出每一行。每行包含3个div

因此,第一行将是.mydiv.event,然后.event将是灰色的。然后下一行将是.mydiv.odd,然后.odd将是白色

我正在使用css-tricks.com$xyz++%2中的代码使每个其他div成为不同的类

感谢所有的帮助

这是我的密码

$get_new_games = mysql_query("SELECT game_title,game_description,id from games ORDER BY added_date LIMIT 10");
while ($row = mysql_fetch_array($get_new_games)) {
$new_game_title = $row['game_title'];
$new_game_description = $row['game_description'];
$new_game_id = $row['id'];
$new_games_display .= '<div class = "game_module class-'.($xyz++%2).'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}

在循环并打印行时,您将使用索引确定偶数或奇数

if(!$index%2){
   echo "even";
}
else{
   echo "odd";
}
%是模运算符,当其操作数被除时返回余数

编辑: 所以在你的情况下,你的最后一行是


$new_games_display.=

试试这样的东西:

$i = 0;
while ($row = mysql_fetch_array($get_new_games)) 
{
...
$i++;
$class = ($i%2)? "even" : "odd"; 
$new_games_display .= '<div class = "game_module class-' . $class .'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
<?php for ($i = 0; $rows[$i]; $i ++): ?>
<tr class="<?php echo $i % 2 ? 'odd' : 'even'; ?>">
  <td>
    <div />
  </td>
  <td>
    <div />
  </td>
  <td>
    <div />
  </td>
</tr>
<?php endfor; ?>


将类添加到行中会更有意义,要在PHP中输出表行,请使用以下内容:

$i = 0;
while ($row = mysql_fetch_array($get_new_games)) 
{
...
$i++;
$class = ($i%2)? "even" : "odd"; 
$new_games_display .= '<div class = "game_module class-' . $class .'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
<?php for ($i = 0; $rows[$i]; $i ++): ?>
<tr class="<?php echo $i % 2 ? 'odd' : 'even'; ?>">
  <td>
    <div />
  </td>
  <td>
    <div />
  </td>
  <td>
    <div />
  </td>
</tr>
<?php endfor; ?>
这将确保仅选择每行中的顶部div

更新:

从您提供的代码来看,您似乎根本没有使用一个表,也许您的意思比实际的HTML元素更宽松?。按照您的代码,您已经按照上述方式使用了模,但是您需要更改以下内容

$xyz = 0;
$get_new_games = mysql_query("SELECT game_title,game_description,id from games ORDER BY added_date LIMIT 10");
while ($row = mysql_fetch_array($get_new_games)) {
  $new_game_title = $row['game_title'];
  $new_game_description = $row['game_description'];
  $new_game_id = $row['id'];
  $new_games_display .= '<div class = "game_module class-'.($xyz++%2 ? 'odd' : 'even').'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
我添加了第一行将变量初始化为零,并将$new_games_显示行更改为$xyz++%2?“奇数“:“偶数”。这将确保每个其他div的类为奇数,其余的类为偶数


我唯一的问题是,您提供的代码与您最初的问题并不完全对应,因为有三行div,可能我遗漏了什么-请随意提供更多代码,我将能够为您提供更多帮助。

您的代码只是每隔一行高亮显示一次,而不是每三行高亮显示一组。您可以使用:n子css选择器,但使用php将确保浏览器兼容性,因为该类是硬编码的。无论如何

$evenodd = false; // false indicates odd
$count = 0;

while (...) {
   ... //display
   $count++;
   if ($count == 2) {
      $evenodd = !$evenodd;
      $count = 0;
   }
}

你能发布一些示例代码吗,比如你用来生成表行的for循环?我不确定这是否会给3一行一个类,然后给3一行一个非类,比如偶数。好吧,使用这些信息,我相信你能想出怎么做。您的代码没有每行输出3div,您也没有清楚地表达您的问题。对不起?很抱歉没有清楚地表达我的问题,你也不是完美的。你可能想添加一个注释,说明css选择器是.odd div而不是.odd。@FakeRainBrigand:很好,我已经编辑并添加了关于选择器的信息。
$evenodd = false; // false indicates odd
$count = 0;

while (...) {
   ... //display
   $count++;
   if ($count == 2) {
      $evenodd = !$evenodd;
      $count = 0;
   }
}