Чередование цветовых строк в цикле PHP - PullRequest
3 голосов
/ 17 июля 2011

Как я могу иметь чередующиеся цветные строки в цикле php?

$num = mysql_num_rows($qPhysician);

$i=0;

while($i < $num)

{

    echo "<tr>";
    echo "<td>" . mysql_result($qPhysician,$i,"lastName") . "</td>";
    echo "<td>" . mysql_result($qPhysician,$i,"firstName") . "</td>";
    echo "</tr>";

    $i++;

}

Я должен опустить "<" и ">" для "tr" и "td", потому что это не былоне допускается в этом вопросе.:)

спасибо!

Ответы [ 5 ]

9 голосов
/ 17 июля 2011

Что ты имеешь в виду?Вы говорите, что хотите отобразить его в таблице, которая чередует строки?

$num = mysql_num_rows($qPhysician);
$i=0;
echo "<table>"
while($i < $num)

{
if ($i % 2 == 0){
echo "<tr class='style1'>";
}
else{
echo "<tr class='style2'>";
}
echo "<td>" . mysql_result($qPhysician,$i,"lastName") . "</td>";

echo "<td>" . mysql_result($qPhysician,$i,"firstName") . "</td>";

echo "</tr>";

$i++;

}
echo "</table>";
2 голосов
/ 17 июля 2011

Продолжая пример здесь :

$query = mysql_query("SELECT lastName, firstName FROM physicians");

$i = 0;
while( $arr = mysql_fetch_assoc( $query ) )
{
    // use modulus (%). It returns the remainder after division.
    // in this case, $i % 2 will be 1 when $i is odd, 0 when even.
    // this is the ternary operator. 
    // it means (if this)? do this: otherwise this        
    // (Remember 1 is true and 0 is false so odd rows will be the odd
    // class, even rows the even class)
    echo ($i % 2)?'<tr class="odd">':'<tr class="even">';
    // Now, use array indexing.
    echo "<td>" . $arr[ "lastName" ] . "</td>";
    echo "<td>" . $arr[ "firstName" ] . "</td>";
    echo "</tr>";
    $i++;
}
0 голосов
/ 09 марта 2018

Вот простой трюк, если вы хотите чередовать группу цветов.

Сначала добавьте немного css в заголовок документа.

    <style>

    div.red {
        background-color: #E87876;
    }

    div.burnt {
        background-color: #E89576;
    }

    div.orange {
        background-color: #E8B176;
    }

    div.mustard {
        background-color: #E8CE76;
    }

    div.yellow {
        background-color: #E6E876;
    }

    div.green {
        background-color: #CAE876;
    }

    </style>

Затем добавьте цвета в ваш цикл.

    $colors = array('red','burnt','orange','mustard','yellow','green');
    $rowCount=0;

        while($row = mysql_fetch_array($sql))  
          { 
          $something=$row['data'];  
          if($rowCount==6) // number of colors in array 
            {
            $rowCount=0;   // reset to first color
            }

        echo "<div class=\"".$colors[$rowCount]."\">".$something."</div>";      

        $rowCount++;

          }
0 голосов
/ 05 апреля 2016
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$dbname=""; // Database name
$tblname=""; // Table name
// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$dbname")or die("cannot select DB");
$sql="SELECT * FROM $tblname";
$result=mysql_query($sql);
// Define $color=1
$color="1";
echo '<h3 align = "center"> Details <hr /></h3>';
echo '<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">';
while($rows=mysql_fetch_row($result)){
// If $color==1 table row color = #FFCCFF
if($color == 1){
echo "<tr bgcolor='#FFCCFF'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color==2, for switching to other color
$color="2";
}
// When $color not equal 1, table row color = #FFC600
else {
echo "<tr bgcolor='#FFC600'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color back to 1
$color="1";
}
}
echo '</table>';
mysql_close();
?>
0 голосов
/ 17 июля 2011

внутри вашего, пока вы можете использовать:

if ($i % 2 == 0)
   echo "even";
else
   echo "odd";
...