Forum Webscript.Ru
		Программирование => PHP => Тема начата: Ленивый гость от 26 Сентября 2002, 13:22:28
		
			
			- 
				у меня есть скрипт (динамически) создающий ХТМЛ таблицу из MYSQL таблицы.
 Вот он:
 
 
 $db_name = "test";
 $table_name = "company";
 
 $connection = @mysql_connect("localhost", "admin", "gramozeka")
 or die(\'Не могу подключиться к серверу баз данных\');
 @mysql_select_db($db_name, $connection)
 or die(\'Не могу открыть базу данных\');
 
 $sql = "select id, title, diz, adress from $table_name";
 
 $result = mysql_query($sql,$connection)
 or die("Couldn\'t execute query.");
 
 @$num_rows = mysql_num_rows($reult);
 while ($a_row = mysql_fetch_row ($result))
 {
 print "\\n";
 foreach ($a_row as $field)
 print "\\t$field\\n"; | 
 print "
 \\n";
 }
 ?>
 
 
 
 
 № | 
 Название | 
 Цена | 
 Адрес,телефон | 
 
 
 
 1 | 
 росмаркет | 
 0.0000 | 
 0 | 
 
 
 
 2 | 
 росмаркет | 
 0.0000 | 
 0 | 
 
 
 
 
 
 
 В результате получается таблица с черным фоном.
 Мне нужно, чтобы черный фон всталялся через один стобец (чередовался с други цветом).
 
 То есть должно получиться вот так:
 
 ...............
 
 3 | 
  | 
  | 
 0 | 
 
 
 ...............
 
 Как бы это реализовать???
- 
				проверкой номера очередной обрабатываемой записи на четность, например...
			
- 
				@$i++;
 if (($i%2)!==0) $bg=" bgcolor=\\"#E6E6E6\\""; else $bg=" bgcolor=\\"#F3F3F3\\"";
- 
				Alexandr 
 if ($i%2)
- 
				$bgclr=($i=1-$i) ? "#E6E6E6" : "#F3F3F3";
 
 И далее по тексту...
- 
				ThE0ReTiC 
 if (++$i%2)
 
 :-)))
 
 PilotV
 В общем, не универсально. Но красиво.
- 
				спасибо всем!!!!!!
			
- 
				Ленивый гость 
 И ваще общие вещи для всех столбцов типа
 align=center background=black
 надо выносить в
 А если чередование, то тоже один цвет в
|
  , а второй в каждой второй ячейке.
			
			
			- 
				А вообще еще лучше так (нет предела совершенству):
 $bgclr=($i=!$i) ? "#E6E6E6" : "#F3F3F3";
 
 Кончтрукцией типа $i=1-$i я обычно для индексации массива пользуюсь. Кстати, можно было бы еще и так - с массивом (например, чтобы цвета один раз перед телом цикла иниц-ть):
 
 $bgclrs=array("#E6E6E6","#F3F3F3");
 
 for ($i=0; .... ; $i=1-$i) {
 ...
 echo "... bgcolor=\'$bgclrs[$i]\' ...";
 ...
 }
- 
				нет предела совершенству 
 нет предела развращенному мозгу программиста ;)
- 
				А можно еще через XOR..... :)
			
- 
				А как сделать так, чтобы чередовались три цвета?
 Или напрмер, 3 картинки в таблице в ряд, а следующие уже со следующей строчки?
 
 if ($i%3) - не проходит :-((
- 
				Rodent 
 if ($i%3 == 0){
 
 } else if ($i%3 == 1){
 
 } else {
 
 }