Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kolorowanie, pomysly, ulepszenia itd.
goped
post 11.09.2004, 20:16:59
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

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


witam, chcialbym wiedziec co sadzicie o skrypcie na koloranie postow na przemian.
bedzie on wygladal nastepujaco:

$kolor=1;
while(warunek)
{
if($kolor==1;)
powiedzmy niebieski;
$kolor=2;
else
powiedzmy zielony
$kolor=1
}

ale powiedzcie co bedzie szybsze, drugi if czy else?, chyba else? moze znacie jakis lepszy sposob? no i jeszcze jedno, czy znacie jakis sposob, zeby powiedzmy, mam 5 plikow, i ja podam folder z nimi, albo te pliki, i ona wylosuje ktorys, albo dwa? czy moze trzeba to robic przez rand i ify. z gory dzieki za pomoc

Ten post edytował goped 11.09.2004, 20:18:32


--------------------
www.motorower.com.pl - kup sobie cos :]
Go to the top of the page
+Quote Post
kicaj
post 11.09.2004, 20:55:08
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


Wstaw kod miedzy [php].
Skrypt? Nazywasz to skryptem?
Te kilka linijek mozna zmiescic w jednej smile.gif


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
goped
post 11.09.2004, 20:59:20
Post #3





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

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


to jest zarys skryptu, ma mowic o pomysle a nie jak wyglada juz skrypt, dlatego nie jest w [php][/php]


--------------------
www.motorower.com.pl - kup sobie cos :]
Go to the top of the page
+Quote Post
-unknow-
post 11.09.2004, 21:09:50
Post #4





Goście







a ja proponuje cos innego... sam mam to u siebie i wszystko dziala bardzo dobrze. kolory sa wybierane losowo :]

w naglowku strony pomiedzy dopisz:
  1. <head>
  2. <?php
  3. $color = rand(x,y);
  4. echo &#092;"<link rel=\"stylesheet\" type=\"text/css\" href=\"\" . $color . \"\" />\";
  5. ?>
  6. </head>


w miejsce x i y wpisz dwie dowolne liczby, ktore oznaczaja zakres liczb.
w pliku, wktorym umiesciles kod dodaj klasy, np.:
  1. <div class="nadaj_kolor">
  2. zawartosc div'a
  3. </div>


utworzi pliki *.css o nazwach odpowiednio z zakresu liczb i dodaj w nich kolory do klas utworzonych w poprzednim pliku:
Kod
.nadaj_kolor {
color: #f00;
background-color: #000;
}


moze troche niejasno napisalem, ale to dziala i to dobrze.
Go to the top of the page
+Quote Post
goped
post 11.09.2004, 21:15:12
Post #5





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

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


dzieki, fajny, ale chetnie poczekam na jeszcze inne propozycje, ale nie jest zly


--------------------
www.motorower.com.pl - kup sobie cos :]
Go to the top of the page
+Quote Post
rogrog
post 11.09.2004, 21:34:50
Post #6





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


ja kiedyś robiłem w podobny sposób jak Ty, teraz uprościłem sobie życie korzystając ze zmiennych statycznych w funkcjach:

  1. <?php
  2.  
  3.  
  4. // funkcja kolorująca tło
  5.  
  6. function kolorujTlo(){
  7. static $kolor;
  8.  
  9. $kolor1 = '#f5f5f5'; //jeden z kolorów
  10. $kolor2 = '#f9f9f9'; //drugi z kolorów
  11.  
  12. if($kolor == $kolor1){
  13. $kolor = $kolor2;
  14. } else {
  15. $kolor = $kolor1;
  16. }
  17.  
  18. return $kolor;
  19. }
  20.  
  21. /* Ilustracja użycia */
  22.  
  23. echo '<table>';
  24.  
  25. while(...){
  26.  
  27. echo '<tr><td bgcolor=\"'. kolorujTlo() .'\">post</td></tr>';
  28.  
  29. }
  30.  
  31. echo '</table>';
  32.  
  33. ?>


@goped: oczywiście if...else jest szybsze niż podwójne if

Ten post edytował rogrog 11.09.2004, 21:39:01


--------------------
Go to the top of the page
+Quote Post
FiDO
post 11.09.2004, 22:16:03
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Funkcje wybierajaca kolor mozna jeszcze uproscic..
  1. <?php
  2.  
  3. function kolorujTlo(){
  4. static $kolor = 0;
  5.  
  6. return ($kolor++ % 2) ? &#092;"#f5f5f5\" : \"#f9f9f9\";
  7. }
  8.  
  9. ?>


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
goped
post 11.09.2004, 22:21:18
Post #8





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

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


fido, nakierujesz mnie na to co to te %, to jest 1 procent z 2 czy to cos robi?

i tak wogole, wiem, ze moze bedziecie sie smiali, ale nie za bardzo rozumiem wasze skrypty, mozecie mi wytlumaczyc?

Ten post edytował goped 11.09.2004, 22:29:23


--------------------
www.motorower.com.pl - kup sobie cos :]
Go to the top of the page
+Quote Post
FiDO
post 11.09.2004, 22:49:07
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Cytat(goped @ 2004-09-11 23:21:18)
fido, nakierujesz mnie na to co to te %, to jest 1 procent z 2 czy to cos robi?

% to jest operator dzielenia modulo
Wynikiem dzielenia modulo, np. a % b jest reszta z dzielenia calkowitego a / b, czyli w przypadku 5 % 2, reszta jest 1, 4 % 2, reszta 0, itd.
% 2 jest o tyle "specjalny", ze moze posluzyc do sprawdzania parzystosci zmiennej (sprawdzania czy dzieli sie bez reszty przez 2, co druga liczba calkowita sie dzieli). I tak wlasnie to tutaj wykorzystalem. Gdy licznik jest parzysty zwraca jeden kolor, gdy nieparzysty to drugi kolor.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
goped
post 11.09.2004, 23:14:05
Post #10





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 28.11.2003
Skąd: gliwice

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


ale jak sprawdzasz czy jest parzysty, podzieli przez dwa i powiedzmy zostanie 1, i jak to sprawdzisz, ze jest nieparzysty?


--------------------
www.motorower.com.pl - kup sobie cos :]
Go to the top of the page
+Quote Post
-vinvega-
post 11.09.2004, 23:51:27
Post #11





Goście







fragment manuala php:

"...trójoperandowy operator warunkowy

<?php
$pierwsze ? $drugie : $trzecie
?>

Jeśli wartością pierwszego podwyrażenia jest TRUE (rózna od zera), to zwracane jest drugie podwyrażanie, i jest to wynik wyrażenia warunkowego. W przeciwnym wypadku, zwracana jest wartość trzeciego podwyrażenia. "

czyli w tym przypadku:
($kolor++ % 2) ? "#f5f5f5" : "#f9f9f9";
jezeli mamy do czynienia z liczba parzysta, zostanie zwrocona wartosc FALSE (zero reszty z dzielenia) wiec wykona sie instrukcja po ':'
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: 28.04.2024 - 12:27