Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kolorowanie w pętli for
Forum PHP.pl > Forum > Przedszkole
newmala
Czy ktoś może mi pomóc w kolorowaniu cyfer w tabliczce mnożenia:
parzyste na czerwono , a nieparzyste na zielono.


  1. <?php
  2. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  3. for ($j = 1; $j <= 10; $j++) {
  4. echo "<tr>\n";
  5. for ($i = 1; $i <= 10; $i++) {
  6. echo "<td>";
  7. echo $i * $j;
  8. echo "</td>\n";
  9. }
  10. echo "</tr>\n";
  11. }
  12. echo "</table>";
  13. ?>
zdemotywowany
Użyj modulo %
Crozin
Było już wiele razy, ot pierwsze z brzegu: http://forum.php.pl/index.php?s=&showt...st&p=746991
zdemotywowany
Cytat(Crozin @ 19.01.2012, 16:24:58 ) *
Było już wiele razy, ot pierwsze z brzegu: http://forum.php.pl/index.php?s=&showt...st&p=746991


To nie jest rozwiązanie, bo teraz robi tabliczkę mnożenia, ale może usunąć np. wszystkie liczby podzielne przez 3 i zaraz się wszystko sypnie.
newmala
Próbowałam coś wykombinować z if, ale zamiast tabelki wychodzi jakiś bohomaz:
  1. <?php
  2. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  3. for ($j = 1; $j <= 10; $j++) {
  4. echo "<tr>\n";
  5. for ($i = 1; $i <= 10; $i++) {
  6. echo "<td>";
  7. echo $liczba=$i * $j;
  8. if ($liczba%2>0)
  9. {echo '</td bgcolor="green">\n'; }
  10. else {echo '</td bgcolor = "red">\n'; }
  11. }
  12. echo "</tr>\n";
  13. }
  14. echo "</table>";
  15. ?>


Wydaje mi się, że ten if powinien być ok, ale na pewno się mylę , bo w sumie nie ma tabelki z kolorowymi cyframi.
Czy ktoś mógłby wyjaśnić, gdzie robię błąd i dlaczego wychodzą takie bohomazy?
zdemotywowany
  1. <?php
  2. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  3. for ($j = 1; $j <= 10; $j++)
  4. {
  5. echo "<tr>\n";
  6. for ($i = 1; $i <= 10; $i++)
  7. {
  8. if ($liczba%2>0)
  9. echo '<td bgcolor="green">';
  10. else
  11. echo '<td bgcolor="red">';
  12. echo $i * $j;
  13. echo "</td>\n";
  14. }
  15. echo "</tr>\n";
  16. }
  17. echo "</table>";
  18. ?>

Co konkretnie wychodzi za bohomaz? My dostajemy kod, ale przydałby się jeszcze wgląd wizualny w to co jest nie tak.
mtskilla
wrzuć tam przed:

if ($liczba%2>0)

$liczba = $i * $j;

i będzie kolorowało. pozostanie Ci problem z wierszami mnożników bo też je koloruje

newmala
  1. <?php
  2.  
  3. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  4. for ($j = 1; $j <= 10; $j++)
  5. {
  6. echo "<tr>\n";
  7. for ($i = 1; $i <= 10; $i++)
  8. {
  9. if ($liczba%2>0)
  10. echo '<td bgcolor="green">';
  11. else
  12. echo '<td bgcolor="red">';
  13. echo $liczba=$i * $j;
  14. echo "</td>\n";
  15. }
  16. echo "</tr>\n";
  17. }
  18. echo "</table>";
  19. ?>

Link do wyniku : http://www.fotosik.pl/pokaz_obrazek/c3917f246b513f19.html

Oczywiście wynik jest nadal błędny sad.gif.
Niestety fotosik nie zapisuje innych nazw, więc nie mogę bezpośrednio tego Wam pokazać.

Pozdr
mls
jeśli już, to:
  1. if ($liczba % 2 == 0)
zdemotywowany
  1. <?php
  2. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  3. for ($j = 1; $j <= 10; $j++)
  4. {
  5. echo "<tr>\n";
  6. for ($i = 1; $i <= 10; $i++)
  7. {
  8. $liczba = $i*$j;
  9. if ($liczba%2 > 0)
  10. echo '<td bgcolor="green">';
  11. else
  12. echo '<td bgcolor="red">';
  13. echo $liczba;
  14. echo "</td>\n";
  15. }
  16. echo "</tr>\n";
  17. }
  18. echo "</table>";
  19. ?>


A teraz? Po prostu wcześniej nie zauważyłem, że if dotyczy $liczba, której nie było.
kefirek
  1. <?php
  2. echo '<table rules="all" cellpadding="4" style="font:11px Arial,Verdana;border:2px solid #ccc;">'."\n";
  3. for ($j = 1; $j <= 10; $j++) {
  4. echo "<tr>\n";
  5. for ($i = 1; $i <= 10; $i++) {
  6.  
  7. if ($i % 2 == 0) echo '<td bgcolor="red">'; else echo '<td bgcolor="green">';
  8. echo $i * $j;
  9.  
  10. echo "</td>\n";
  11. }
  12. echo "</tr>\n";
  13. }
  14. echo "</table>";
  15. ?>
zdemotywowany
@kefirek

Chyba Ci coś nie pykło albo ja źle widzę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.