Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Instrukcja warunkowa, kolor komorki
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,


Przerabiam sobie ksiazke do php i mam w niej nastepujacy kod:

  1. <?php
  2. //tworzenie wierszy tabeli
  3.        $bg = '';
  4.        while($row = mysql_fetch_array($result)) {
  5.            $bg = ($bg == 'F2F2FF'?'E2E2F2':'F2F2FF');
  6.            $pow = ($powers[$row['id']] ==''?'brak':$powers[$row['id']]);
  7.            if(!isset($enemies) || ($enemies[$row['id']] == '' )) {
  8.                $ene = 'brak';
  9.            } else {
  10.                $ene = $enemies[$row['id']];
  11.            }
  12.            $table .= '<tr bgcolor="#"'.$bg.'">'.
  13.                      '<td><a href="charedit.php?c="'.$row['id'].'">'.
  14.                      $row['alias'].'</a></td><td>'.
  15.                      $row['name'].'</td><td align="center">'.
  16.                      $row['align'].'</td><td>"'.$pow.'"</td>'.
  17.                      '<td align="center">'.$ene.'</td></tr>';
  18.        }
  19.        
  20.        $table .= '</table>';
  21. ?>


Doszedłem do tego ze błąd ten spowodowany jest przez tę linijke :
  1. <?php
  2. $bg = ($bg == 'F2F2FF'?'E2E2F2':'F2F2FF');
  3. ?>


Ktora jest instrukcja warunkowa if-else, odpalajac strone pojawia mi sie dziwny błąd gdyż komórki tabeli sa kolorowane na czarno a w firebugu wygląda to tak :
  1. <?php
  2. <tr bgcolor="#000000" f2f2ff="">
  3. <td>
  4. <a 1="" href="charedit.php?c=">Albert Grey</a>
  5. </td>
  6. <td/>
  7. <td align="center">
  8. <font color="darkgreen">dobry</font>
  9. </td>
  10. <td>"noktowizja, termowizja"</td>
  11. <td align="center">brak</td>
  12. </tr>
  13. <tr bgcolor="#000000" e2e2f2="">
  14. </tr>
  15. <tr bgcolor="#000000" f2f2ff="">
  16. ?>


Czyli bgcolor przyjmuje zamiast wartosci z instrukcji if-else wartosc #000000, ale nie wiem jak sobie z tym poradzic....


----------------------------------------------------

Ok , znalazlem błąd, o jeden cudzysłów za duzo w linijce :
  1. <?php
  2. $table .= '<tr bgcolor="#"'.$bg.'">'.
  3. ?>


Poprawny kod:

  1. <?php
  2. $table .= '<tr bgcolor="#'.$bg.'">'.
  3. ?>


Czyli złe sklejenie stringów.....
nospor
  1. <?php
  2. $table .= '<tr bgcolor="#'.$bg.'">'.
  3. //dalej bez zmian
  4. ?>

nie potrzebnie dales " po #
gulldarek
Zadawales juz pytanie o te komorki i wskazalem, ze zle zamykasz cudzyslowy. Dlatego kod generowal sie nastepujaco:

<tr bgcolor="#"f2f2ff> co NIE JEST prawidlowym kodem HTML.
To samo z reszta jesli chodzi o link w srodku. Drukowal sie jako <a href="charedit.php?c="1> I to tez NIE JEST prawidlowy kod html.

Masz ponizej poprawione:

  1. <?php
  2. //tworzenie wierszy tabeli
  3.       $bg = '';
  4.       while($row = mysql_fetch_array($result)) {
  5.           $bg = ($bg == 'F2F2FF'?'E2E2F2':'F2F2FF');
  6.           $pow = ($powers[$row['id']] ==''?'brak':$powers[$row['id']]);
  7.           if(!isset($enemies) || ($enemies[$row['id']] == '' )) {
  8.               $ene = 'brak';
  9.           } else {
  10.               $ene = $enemies[$row['id']];
  11.           }
  12.           $table .= '<tr bgcolor="#'.$bg.'">'.
  13.                     '<td><a href="charedit.php?c='.$row['id'].'">'.
  14.                     $row['alias'].'</a></td><td>'.
  15.                     $row['name'].'</td><td align="center">'.
  16.                     $row['align'].'</td><td>"'.$pow.'"</td>'.
  17.                     '<td align="center">'.$ene.'</td></tr>';
  18.       }
  19.      
  20.       $table .= '</table>';
  21. ?>
Wolfie
Poi dokladniejszej analizie tez do tego doszedlem, dzieki gulldarek smile.gif
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.