php pdo每秒一个元素红色

php pdo每秒一个元素红色,php,mysql,select,pdo,Php,Mysql,Select,Pdo,我有一个数据库,我想把每一个元素都涂成绿色 $sql=$pdo->query("SELECT * FROM blume WHERE 1"); $i = 0; while($row = $query->fetch(PDO::FETCH_ASSOC)) { if ($i % 2 == 0){ echo '<div class="red">'.$row ['title'].'</div>';} else {echo '<div class="gree

我有一个数据库,我想把每一个元素都涂成绿色

$sql=$pdo->query("SELECT * FROM blume WHERE 1");
$i = 0;

while($row = $query->fetch(PDO::FETCH_ASSOC)) {
  if ($i % 2 == 0){ echo '<div class="red">'.$row ['title'].'</div>';}
  else {echo '<div class="green">'.$row ['title'].'</div>'; 
  $i++;   
}

这个不行。我将始终使用绿色,而不是红色。请检查此代码。您需要增加$i值,但缺少关闭标记“}”

$sql=$pdo->query("SELECT * FROM blume WHERE 1");
$i = 0;

 while($row = $query->fetch(PDO::FETCH_ASSOC)) {
if ($i % 2 == 0){ echo '<div class="red">'.$row ['title'].'</div>';}
 else {echo '<div class="green">'.$row ['title'].'</div>' };
 $i++;    
}
您也可以将此代码用于您的代码。这是一个简单的条件,因此您的代码将更具可读性

<?php 
$sql=$pdo->query("SELECT * FROM blume WHERE 1");
$i = 0;
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
  $class = ($i % 2 == 0) ? 'red' : 'green';
  echo '<div class="'.$class.'">'.$row ['title'].'</div>';    
  $i++;
 }
?>

您可以使用在以下颜色之间切换的一组颜色,将其清理干净,获得您想要的效果:

$sql=$pdo->query("SELECT * FROM blume WHERE 1");
$colors = array('red', 'green');
$i = 0;

while($row = $query->fetch(PDO::FETCH_ASSOC)) {
  echo sprintf('<div class="%s">%s</div>', $colors[$i%2], $row['title']);

  $i++;
}

由于$i%2返回0或1,因此将对数组中的两个元素之一进行索引。

好吧,您永远不会使用$i执行任何操作,因此它将始终为0。在while循环中,添加类似$i++;。你只需要在每次循环迭代中增加$i……对不起,我用了这个,但忘了在这里把它写进代码。为什么不直接用CSS呢?特别是,你可以用它来做这个。它不仅仅是绿色/红色。还有很多其他的代码。绿色/红色只是它的简化。这个“红色”和“绿色”是更多的红色和绿色代码。我只是简单地说了一下。@lokalinjo您可以在此基础上进行扩展以添加任何必要的功能。实际上,我已经在您编写的时候尝试过了。它是有效的。我已经将所有代码放入变量和数组中。很高兴能帮助您