Wyświetlanie zawartości DB w tabeli - formatowanie tabeli

0

Witam!

Chcę wyświetlać zawartość bazy danych w tabeli w której kolejne wiersze będą różniły się od siebie kolorami. Oto kod:

$a=1;
while ( $row = mysql_fetch_row($wynik) ) {
if(a==0) {
echo "<tr  class=\"td_1\" align=\"center\">";
echo "<td>" . $row[2] . "</td>";
$a=0;
}
else {echo "<tr  class=\"td_2\" align=\"center\">";
echo "<td>" . $row[2] . "</td>";
$a=1;
}
echo "</tr>";
}

Wynikiem kwerendy jest np 20 wierszy. Chciałbym aby wiersze parzyste używały stylu td_1 a nieparzyste td_2. Bez względu na zadeklarowanie zmiennej $a przed pętlą while zawsze dostaje formatowanie td_1. Oprócz tego istnieje jakiś "ładniejszy" sposób zmiany flagi $a (z 1 na 0 i na odwrót)?

1
for($a=2;$row=mysql_fetch_row($wynik);$a=3-$a) echo "<tr  class=\"td_". $a ."\" align=\"center\">\n<td>" . $row[2] . "</td>\n</tr>";
0

Tak ale gdzie tu zmiana td_1 i td_2? Z tego co tu widzę (albo mi się zdaje) to zawsze będzie też użyte formatowanie td_1 a tą pętle for osadzić w while? Patrząc na to co napisałeś mogę skrócić sporo kod bo zamiast w pętli warunkowej generować całą tabelę będę generować tylko zmienną $styl

						$a=1;
						 while ( $row = mysql_fetch_row($wynik) ) {
							if(a==0) {
								$styl="td_1";
								$a=1;
							} else {
								$styl="td_2";
								$a=0;
							}
								echo "<tr class=\"". $styl ." align=\"center\">";
								echo "<td>" . $row[2] . "</td>";
								echo "<td>" . $row[1] . "</td>";

							
							
							echo "</tr>";
						 } 

Dalej mi to nie zmienia stylu komórki. Zawsze mam użyty ten sam td_1.

0

Zamiast funkcji while użyłem twojego kodu (wstawiłem tylko $ przed zmienną a w warunkach pętli for, bo mi błąd wywalało):

for($a=2;$row=mysql_fetch_row($wynik);$a=3-a) echo "<tr  class=\"td_". $a ."\" align=\"center\">\n<td>" . $row[2] . "</td>\n</tr>";

OK wyświetla to zawartość bazy danych ale i tak nie formatuje mi wierszy tak jak bym chciał. Pierwszy wiersz jest formatowany kolejne już nie.

0

Ok dziękuję teraz działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1