2015-10-13 2 views
1

Я использую этот код для создания HTML-таблицыPHP: Выделите каждую вторую строку таблицы

for ($x = 0; $x <= $requiredRows; $x++) {  
    echo "<tr>"; 
    echo "<td>"; 
    echo someArrayStuff($x); 
    echo "</td>"; 

    echo "<td>"; 
    echo $someArrayStuff[$x][arrayinfos]; 
    echo "</td>"; 

    echo "<td>"; 
    echo $someArrayStuff[$x][arrayinfos]; 
    echo "</td>"; 
    echo "</tr>"; 
} 

Теперь я хочу, чтобы выделить каждую вторую строку с цветом фона, как я могу сделать это с помощью PHP? Я не хочу определять его в файле CSS.


Спасибо за вашу помощь, теперь он работает с этим кодом:

if($x%2 == 0) { echo "<tr bgcolor='#FFFFF'>"; } else { echo "<tr bgcolor='#FFFFF'>"; } 
+1

использование '$ х% 2 == 0 'логика и определить встроенный стиль CSS – akashBhardwaj

+0

это можно легко сделать с помощью JQuery, если вы хотите идти по этому пути; это вариант. –

+1

Я понимаю, что у вас есть причины не включать стиль в CSS, но стилизация с помощью разметки считается плохой практикой. –

ответ

4
if($x%2 == 0) { 
    echo '<tr class="bg-highlight">'; 
} else { 
    echo "<tr>"; 
} 

и определить класс CSS:

.bg-highlight { 
    background-color: red; 
} 
+0

Работает просто отлично. Как решение - спасибо! – coder

+0

Если вы не хотите определять класс CSS, вы можете просто использовать: if ($ x% 2 == 0) {echo ""; } else {echo ""; } – coder

+0

учтите, что атрибут 'bg-color' больше не действителен в HTML5. Http://www.w3.org/TR/html-markup/tr.html – dbarthel

0

Вы можете использовать моды. $ x% 2 проверяет, есть ли четная строка. который будет альтернативной строкой. Если он найден как четный ряд, то задается другой цвет фона.

for ($x = 0; $x <= $requiredRows; $x++) { 
    if($x%2 == 0) { //even 
    echo "<tr style="background-color: #FF0000">"; 
    } else { // odd 
    echo "<tr>"; 
    } 

    echo "<td>"; 
    echo someArrayStuff($x); 
    echo "</td>"; 

    echo "<td>"; 
    echo $someArrayStuff[$x][arrayinfos]; 
    echo "</td>"; 

    echo "<td>"; 
    echo $someArrayStuff[$x][arrayinfos]; 
    echo "</td>"; 
    echo "</tr>"; 
} 
1

Вы можете просто создать динамический класс, который будет изменять в соответствии с вашим цикла

$class = ($x%2 == 0) ? "highlight" : ""; 
echo "<tr class='$class'>"; 

Просто создать класс с именем

.highlight{ 
    background-color: grey; 
} 
1

Или Вы можете просто использовать этот код в CSS для нечетные или четные строки таблицы.

div:nth-child(even) 
{ 
    background-color: yellow; 
} 
0
for ($x = 0; $x <= $requiredRows; $x++) {  
    echo "<tr"; 
    if ($x % 2 === 1) {echo " style=\"background-color: yourFavoriteColor;\"";} 
    echo ">"; 
       .................. 
+0

Пожалуйста, всегда объясняйте свой код –

Смежные вопросы