私はdbテーブルからデータを表示していますが、2つの背景色をかなり簡単にループできますが、どのようにして3つまたは4つの背景色を組み込むことができますか?whileループで3つの背景色をループする
現在、私は2つのCSSクラスのためにこのコードを持っている:
PHPは私が%2 ++を$エコー? 'class = "even"': 'class = "odd"';
感謝
私はdbテーブルからデータを表示していますが、2つの背景色をかなり簡単にループできますが、どのようにして3つまたは4つの背景色を組み込むことができますか?whileループで3つの背景色をループする
現在、私は2つのCSSクラスのためにこのコードを持っている:
PHPは私が%2 ++を$エコー? 'class = "even"': 'class = "odd"';
感謝
は、私が考えることができる最も簡単な方法は、switch文をincorperateすることです:
switch($i % 3)
{
case 0: echo 'class="even"'; break;
case 1: echo 'class="odd"'; break;
case 2: echo 'class="..."'; break;
}
[OK]を、私のは、ただ冗長笑
はクラスの配列を使用し、その結果を使用していますモジュロ(剰余)をインデックスとして使用します。
$classes = array("odd", "even", "odder", "more_even");
for ($i=0; $i < 10; $i++)
{
echo $classes[$i%4];
}
次に、4をアレイのサイズに置き換えて、アレイに基づいて完全に動的にすることができます。
echo "<br>".$classes[$i%count($classes)];
これは@ Gazlerのアプローチと同じです。しかし、あなたはdbテーブル(おそらくMySQL?)について話しているので、私はwhileループを使用しています。
$result = mysql_query($query);
$i = -1;
while ($row = mysql_fetch_array($result)) {
echo (($i++) % 2) ? 'odd' : 'even';
}
+1 odder;)しかし、あなたはその4をハードコードしたくないかもしれません。ちょうど配列の数をとってください。 – TJHeuvel
入力したとおりにソリューションを変更していただけでした。何が起きているのかを明白にするために4インチを維持したかっただけです。私はまた "odder"という言葉を入れ直すように編集し直した。:) – Gazler