Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > цвет вывода через строчку должен меняться.


Автор: pipka 2.3.2005, 13:08
вот как ? ;)
так как я использую id может быть логика такая:
if id!= чётное то такой цвет иначе такой..... верно ? подскажите плиз, делаю построчный вывод в тиблице....

Автор: IZ@TOP 2.3.2005, 13:25
Делаем два стиля:

Код
tr.color_0 {
   background-colo:#EAEAEA;
}

tr.color_1 {
  background-color:#CCCCCC;
}


В цикле присваиваем стили к тегу tr:

Код
$color = 0;

for(...) {
   $color++;
   echo '<tr class="color_'.$color.'">....</tr>';
   if($color == 1) $color = 0;
}

Автор: skalex 2.3.2005, 13:30
имхо некорректно... в поле id могут быть "дыры". Лучше использовать обычный счетчик или "флаг" (например такой, как написал IZ@TOP smile)

Автор: pipka 2.3.2005, 13:37
Код

while($row = mysql_fetch_array($result))
{
$color = 0;
$color++;
echo("<tr class=\"color_'.$color.'\" style=\"border: 1px dotted #507CD3\"><td style=\"border: 1px dotted #507CD3\">".$row['kdnr']."</td><td style=\"border: 1px dotted #507CD3\">".$row['firma']."</td><td style=\"border: 1px dotted #507CD3\">".$row['name']."</td><td style=\"border: 1px dotted #507CD3\">".$row['adresse']."</td><td style=\"border: 1px dotted #507CD3\">".$row['plz']."</td><td style=\"border: 1px dotted #507CD3\">".$row['telfax']."</td><td style=\"border: 1px dotted #507CD3\">".$row['ort']."</td><td style=\"border: 1px dotted #507CD3\">".$row['bemerkung']."</td><td style=\"border: 1px dotted #507CD3\">".$row['handy']." </td><td><a href=\"edit.php?id=".$row['id']."\"><b>edit<b></td></tr>");
   if($color == 1) $color = 0;
}

резульатт тотже smile
Добавлено @ 13:44
$color = 0; выносил перед цицл, результат тотже

Автор: Рейкин 2.3.2005, 13:44
Код

for ($i=0; $i=$total; $i++)
{
if (($i+1)%2!=0) $color = '#aaaaaa';
else $color = '#999999';
print "<font color='$color'>text</font>";
}


Что-то вроде.

Автор: pipka 2.3.2005, 13:47
значит while засунуть в for ?
Добавлено @ 13:47
--- ушёл курить

Автор: Рейкин 2.3.2005, 13:54
нет, там будет всё печататься... вывод должен сопровождаться изменением $i в самом цикле.

Автор: Opik 2.3.2005, 13:56
Код

$i = 0;
while(){
 if($i%2 == 0){ $bgcolor = '#00000'; } else { $bgcolor = "#252252"}
 $i++;
}

Автор: Рейкин 2.3.2005, 13:57
Код

while($row = mysql_fetch_array($result))
{

if (($i+1)%2!=0) $color = '#aaaaaa'; // где $i - номер строки в таблице
else $color = '#999999';

echo("<tr class=\"color_'.$color.'\" style=\"border: 1px dotted #507CD3\"><td style=\"border: 1px dotted #507CD3\">".$row['kdnr']."</td><td style=\"border: 1px dotted #507CD3\">".$row['firma']."</td><td style=\"border: 1px dotted #507CD3\">".$row['name']."</td><td style=\"border: 1px dotted #507CD3\">".$row['adresse']."</td><td style=\"border: 1px dotted #507CD3\">".$row['plz']."</td><td style=\"border: 1px dotted #507CD3\">".$row['telfax']."</td><td style=\"border: 1px dotted #507CD3\">".$row['ort']."</td><td style=\"border: 1px dotted #507CD3\">".$row['bemerkung']."</td><td style=\"border: 1px dotted #507CD3\">".$row['handy']." </td><td><a href=\"edit.php?id=".$row['id']."\"><b>edit<b></td></tr>");

}


Автор: pipka 2.3.2005, 14:05
Код

echo("<table>");
while($row = mysql_fetch_array($result))
{

if (($id+1)%2!=0) $color = '#aaaaaa'; // где $id - номер строки в таблице
else $color = '#999999';

echo("<tr background-color=\"$color\"><td>".$row['kdnr']."</td><td>".$row['firma']."</td><td>".$row['name']."</td><td>".$row['adresse']."</td><td>".$row['plz']."</td><td>".$row['telfax']."</td><td>".$row['ort']."</td><td>".$row['bemerkung']."</td><td>".$row['handy']." </td><td><a href=\"edit.php?id=".$row['id']."\"><b>edit<b></td></tr>");

}
echo("</table>");


результат не изменился smile ПыСы: $id откуда берётся ?
Добавлено @ 14:07
$id не присвоен нигде...
Добавлено @ 14:09
присвоид id ситуация таже smile

Автор: Рейкин 2.3.2005, 14:10
Код

$i=0;
echo("<table>");
while($row = mysql_fetch_array($result))
{

if (($id+1)%2!=0) $color = '#aaaaaa'; // где $id - номер строки в таблице
else $color = '#999999';

echo("<tr background-color=\"$color\"><td>".$row['kdnr']."</td><td>".$row['firma']."</td><td>".$row['name']."</td><td>".$row['adresse']."</td><td>".$row['plz']."</td><td>".$row['telfax']."</td><td>".$row['ort']."</td><td>".$row['bemerkung']."</td><td>".$row['handy']." </td><td><a href=\"edit.php?id=".$row['id']."\"><b>edit<b></td></tr>");
$i++;
}
echo("</table>");

Автор: pipka 2.3.2005, 14:19
Код

$i=0;
echo("<table>");
while($row = mysql_fetch_array($result))
{

if (($i+1)%2!=0) $color = '#AAAAAA'; // где $i - номер строки в таблице
else $color = '#FFFFFF';

echo("<tr background-color=\"$color\"><td>".$row['kdnr']."</td><td>".$row['firma']."</td><td>".$row['name']."</td><td>".$row['adresse']."</td><td>".$row['plz']."</td><td>".$row['telfax']."</td><td>".$row['ort']."</td><td>".$row['bemerkung']."</td><td>".$row['handy']." </td><td><a href=\"edit.php?id=".$row['id']."\"><b>edit<b></td></tr>");
$i++;
}
echo("</table>");



без изменений.....
Добавлено @ 14:21
Цитата(Opr @ 2.3.2005, 13:56)
Код

$i = 0;
while(){
 if($i%2 == 0){ $bgcolor = '#00000'; } else { $bgcolor = "#252252"}
 $i++;
}

ты ковычки перепутал " c ' или мне кажется ?
пока что ни один из методов не пашет smile

Автор: pipka 2.3.2005, 14:32
<tr bgcolor=\"$color\">

заработала!

Рейкин
Opr
примного благодарен!

Автор: Opik 2.3.2005, 15:57
pipka
Цитата
ты ковычки перепутал " c ' или мне кажется ?

без разницы, главное их парно использовать smile
различие лишь в том, что PHP не обрабатывает переменные в одинарных ковычках (').
Цитата
примного благодарен!

А для чего стоит reputation mod? =)

Автор: pipka 2.3.2005, 16:01
Цитата(Opr @ 2.3.2005, 15:57)
pipka
Цитата
ты ковычки перепутал " c ' или мне кажется ?

без разницы, главное их парно использовать smile
различие лишь в том, что PHP не обрабатывает переменные в одинарных ковычках (').
Цитата
примного благодарен!

А для чего стоит reputation mod? =)

а у меня пока 100 очков нету чтобы раздавать это

Автор: Opik 2.3.2005, 16:02
Цитата
а у меня пока 100 очков нету чтобы раздавать это

А, точно smile) извентиляюсь smile

Автор: Рейкин 2.3.2005, 17:31
pipka - рад был помочь smile

Автор: IZ@TOP 3.3.2005, 00:28
Жаль сам себе + поставить не могу smile Придется другим ставить smile

Автор: Opik 3.3.2005, 12:26
IZ@TOP
А мне? а мне? smile)))))
($i+1)%2!=0
и
$i%2=0
у мну проще smile)) значит быстрее smile

Автор: korob2001 3.3.2005, 12:58
Можно ещё и со стёком поиграться, в этом случае можно заюзать более двух цветов:
Код

<html>

<head>
 <title></title>
</head>

<body>

<table width="50%" border="1">

<?php

function change_color() {
     static $colors = array("red", "blue", "green"); // здесь определяем нужные цвета
     array_push( $colors, array_shift( $colors ) );
     return $colors[0];
}

for ( $i = 0; $i <= 10; $i++ ) {
     echo "<tr bgcolor='" . change_color() . "'>\n";
     echo "<td>$i</td>\n";
     echo "</tr>\n";
}

?>

</table>

</body>

</html>

Автор: Рейкин 3.3.2005, 19:25
IZ@TOP - спасибо, тем более приятно, что первый плюс smile
Opr - IZ@TOP уже поставил, а то я собрался поделиться smile

Автор: IZ@TOP 3.3.2005, 19:30
Opr, а проще по моему не всегда быстрее.

Автор: Opik 4.3.2005, 02:47
IZ@TOP
ну а данном то случае... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)