Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Instrukcja warunkowa, kolor komorki
Wolfie
post 4.05.2009, 12:35:25
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


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.....

Ten post edytował Wolfie 4.05.2009, 12:39:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post 4.05.2009, 12:38:27
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $table .= '<tr bgcolor="#'.$bg.'">'.
  3. //dalej bez zmian
  4. ?>

nie potrzebnie dales " po #


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gulldarek
post 4.05.2009, 12:40:10
Post #3





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
Wolfie
post 4.05.2009, 12:42:36
Post #4





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Poi dokladniejszej analizie tez do tego doszedlem, dzieki gulldarek smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 19:56