Все статьи из текущего раздела

Подсветка строк таблицы разными цветами

Когда в таблице предоставляется много информации, например темы форума или элементы корзины заказов, отдельные строки или абзацы, гораздо проще читать, когда цвета строк в этой таблице будут отличаться друг от друга.

Первым делом визуально оценим то, что сейчас будем делать. Можно взять любое поле (я взял - description), из любой своей таблицы (у меня - articles), своей базы данных. СУБД может быть любая, у меня на хостинге - MySQL.

Что нам потребуется для подсветки строк? В цикле мы будем вызывать функцию форматирования таблицы для присваивания каждой строке таблицы соответствующего стиля. Создаём базу в СУБД, в ней таблицу. Заполняем поле в таблице. Теперь нужно определить цвета для строк таблицы в таблице стилей:

<?php
tr
.row1 {
background-color:#E6F3F9;
}
tr.row2 {
background-color#FFFF00;
}

Теперь у нас есть два класса стилей для строк таблиц <tr> — row1 и row2. Вы можете поместить описание этих классов в любой существующий CSS-файл или же заключить в теги <style> </style> в заголовке документа.

Осталось определить функцию, которая будет попеременно возвращать эти классы.

Примечание:
Функция представляет собой самостоятельный фрагмент программы, и объявляется с помощью ключевого слова function, после которого следует имя функции, в круглых скобках параметры функции, а в фигурных скобках записываются различные операторы, составляющие тело функции:
function Myfunction()
{
// опереторы
}

Если функция возвращает какое-либо значение, в теле функции обязательно должен присутствовать оператор return.

<?php 
function   table_row_format (& $row_counter)   
  { 
  if   (
$row_counter   &  1)  
  {
  
$row_color  =   "row2"
  }  
  else   
  { 
  
$row_color  =   "row1";
  }
$row_counter++;
 return 
$row_color;
}

Примечание:
Побитовый оператор & выполняет побитовую логическую операцию "И" над соответствующими битами двух выражений. Биты целого числа — это не что иное, как отдельные разряды того же самого числа, записанного в двоичной системе счисления. Значение результирующих битов устанавливается равным 1 только в том случае, если оба бита (для текущего разрешаемого бита) в переданных выражениях имеют значение 1; в остальных случаях значение результирующего бита устанавливается равным 0.

Теперь соединяемся с MySQL сервером и получаем идентификатор ($db). Выбираем базу, с которой будем работать. Формируем SQL- запрос к базе данных.

<?php
$db 
= @mysql_connect ("localhost","user"12345); 
@
mysql_select_db("my_base"$db)
mysql_query("SET NAMES cp1251"); 
$sql "SELECT description FROM  articles  ORDER BY id_article  DESC  LIMIT 4"
$result = @mysql_query($sql$db);

Примечание: PHP поддерживает один оператор управления ошибками: знак @. В случае, если он предшествует какому-либо выражению в PHP-коде, любые сообщения об ошибках, генерируемые этим выражением, будут проигнорированы.

Нам нужно передать функции целое число - номер строки. Функция будет автоматически увеличивать это значение, поэтому вы можете не беспокоиться об инкременте этой переменной.

Дальше нам нужно инициализировать счетчик строк (здесь переменная $i) и в цикле вызывать функцию форматирования таблицы table_row_format ($i) для присваивания каждой строке таблицы соответствующего стиля. По окончании форматирования таблицы мы ее закрываем:

<?php
echo   "<table>";
$i 0;
while(
$row mysql_fetch_array($result)) {
row_class table_row_format($i);
echo   
"<tr class=$row_class><td>".$row [`description`]."</td></tr>";
}
echo   
"</table>";

Важно понимать, как использовать table_row_format (). Сначала нужно обязательно инициализировать счетчик $i, а затем о нем можно не беспокоиться — о нем позаботится функция table_row_format ().


ПОЛЕЗНЫЕ ССЫЛКИ: