Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomocy - zmiana koloru
Forum PHP.pl > Forum > Przedszkole
sSFoX
Witajcie smile.gif mam taki oto wycinek skryptu:
Kod
if ($plr_count > 0)
        {
            for ($i=0; $i<$plr_count; $i++)
            {
                $strlen = ord(fread($fp, 1));
                $plrname = fread($fp, $strlen);
                $score = ord(fread($fp, 4));
                
                if($plrname) {
                $kolor = '#888';
                } else if($plrname = '[PSP]Mamix' ) {
                $kolor = '#ff0000';
                }
                
                echo '<table cellspacing="1" cellpadding="0" width="180px" align="center" border="0" style="font-family: Arial; color: #888; font-size: 11px;"><tr><td valign="bottom" align="left">' . $plrname . '</td><td align="right" color="$kolor">' . $score . ' sc</td></tr> ';
            }
        }


I teraz krótko wytłumaczę, chciałbym aby $plrname jeśli się wyświetli [PSP]Mamix miało w tabeli kolor czerwony, natomiast inne nicki normalny. Jednak to co tam jest nie działa, głównie chodzi mi o sekcję
Kod
if($plrname) {
                $kolor = '#888';
                } else if($plrname = "[PSP]Mamix" ) {
                $kolor = '#ff0000';
                }


i

Kod
color="$kolor"


Reszta normalnie wyświetla statystyki, tylko nie zmienia koloru nicku. Ktoś wie jak to zrobić żeby dany nick miał kolor?
nospor
1) POMOCY w tytule jest zbedne
2) Do kodu PHP uzywa sie bbcode PHP a nie CODE
3) przenosze na przedszkole
4) Do porownywania uzywa sie == a nie =
5) Najpierw masz sprawdzac czy twoja zamienna zawiera to co chcesz, a nie potem.
sSFoX
  1. if ($plr_count > 0)
  2. {
  3. for ($i=0; $i<$plr_count; $i++)
  4. {
  5. $strlen = ord(fread($fp, 1));
  6. $plrname = fread($fp, $strlen);
  7. $score = ord(fread($fp, 4));
  8.  
  9. if($plrname) {
  10. $kolor = '#888';
  11. } else if($plrname == '[PSP]FoX' ) {
  12. $kolor = '#ff0000';
  13. }
  14.  
  15. echo '<table cellspacing="1" cellpadding="0" width="180px" align="center" border="0" style="font-family: Arial; color: #888; font-size: 11px;"><tr><td valign="bottom" align="left">' . $plrname . '</td><td align="right" color="$kolor">' . $score . ' sc</td></tr> ';
  16. }
  17. }


dalej nie działa, więc co można ewentualnie dalej działać
nospor
Olales punkt 5 z mojego poprzeniego posta to nic dziwnego ze nadal nie dziala...
sSFoX
nie olałem tylko nie do końca rozumiem, ale myśle że zawiera to co chce czyli $kolor ma albo #ff0000 albo #888
nospor
Tak ma byc:
  1. if($plrname == '[PSP]FoX' ) {
  2. //blabla
  3. } else {
  4. //inne blabla
  5. }
sSFoX
le jesli rozumiem i dam zamiast blabla tabelke z kolorem to mi sie beda wszystkie nicki zmieniac, tak? bo chodzi o to zeby jesli plrname jest [psp]fox to zeby ten nick byl na czerwono a jesli plrname jest jakis inny to #888

@UPDATE

teraz mam tak
  1. if ($plr_count > 0)
  2. {
  3. for ($i=0; $i<$plr_count; $i++)
  4. {
  5.  
  6. $strlen = ord(fread($fp, 1));
  7. $plrname = fread($fp, $strlen);
  8. $score = ord(fread($fp, 4));
  9.  
  10. if($plrname == '[PSP]FoX' ) {
  11. $kolor = '#ff0000';
  12. } else {
  13. $kolor = '#888';
  14. }
  15.  
  16. echo '<table cellspacing="1" cellpadding="0" width="180px" align="center" border="0" style="font-family: Arial; color: #888; font-size: 11px;"><tr><td valign="bottom" align="left">' . $plrname . '</td><td align="right" style="color: $kolor;">' . $score . ' sc</td></tr> ';
  17. }
  18. }
nospor
No i tak ma byc. Cos nadal ci nie dziala? Jesli nadal ci nie dziala, znaczy ze twoja nazwa nie zawiera ciagu [PSP]FoX
sSFoX
no nie działa niestety, a mój nick się wyświetla [PSP]FoX
nospor
  1. if($plrname == '[PSP]FoX' ) {
  2.  
  3. $kolor = '#ff0000';
  4.  
  5. } else {
  6.  
  7. $kolor = '#888';
  8.  
  9. }
  10. var_dump($plrname);
  11. var_dump($kolor);

I pokaz co to zwraca
Giluś
Popatrz na ten kod:


  1. <td align="right" style="color: $kolor;">' . $score . ' sc</td></tr> ';


Powinno być:

  1. <td align="right" style="color: '.$kolor.'">' . $score . ' sc</td></tr> ';
sSFoX
http://originalgames.pl/psp.php

teraz nad nickami pojawiło się to czarne ze stringami


@UPDATE

DZIAŁA!!! Dzięki bardzo giluś i nospor biggrin.gif macie pomógł

@EDIT

Jak dodać kolejny nick do tego?
Giluś
Co Ci się pojawiło, gdzie ?



Ok..

Dajesz ||

Czyli przykład:

  1. if($plrname == '[PSP]FoX' || $plrname == 'Ktoś_Inny_Nick') { $kolor = '';}
  2.  
  3.  
sSFoX
już nic biggrin.gif już mi działa, teraz powiedz mi proszę jak dodać kolejny nick z kolorem innym np
Giluś
Ewentualnie jeśli masz dużo Nicków smile.gif

  1. $tablica = array (1 => "Nick1", "Nick2", "Nick3"); // Lista nicków który ma mieć ten sam kolor (wyróżniony)..
  2.  
  3. $nick = 'Nick1'; // Twoja zmienna, aktualny NICK, czyli u Ciebie: $plrname
  4.  
  5. if(array_search($nick, $tablica)) {
  6. // Kolor jeśli znajduję się NICK w TABLICY
  7. } else {
  8. // Kolor jesli się nie znajduję..
  9. }
  10.  
  11.  
sSFoX
  1. if($plrname == '[PSP]FoX' || $plrname == '[PSP]Rade' ) {
  2.  
  3. $kolor = '#d10000';
  4.  
  5. } else {
  6.  
  7. $kolor = '#888';
  8.  
  9. }


a do tego co dodac zeby dodac kolejna porcje nickow z innym kolorem
nospor
Poczytaj o IFELSE

znaczy ELSEIF wink.gif

http://pl1.php.net/manual/en/control-structures.elseif.php
sSFoX
dzięki bardzo smile.gif można zamknąć
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.