Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kolorowanie grup w select
AxZx
post 23.01.2006, 20:29:16
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam

mam tablice np:
war1 | 1
war1 | 233
war1 | 3566
war3 | 546
war3 | 676
war5 | 5545


chce te wartosci wstawic do selecta, i zrobic tak ze w option beda te dane wyswietlane tak:
war1: 1
war1: 233
war1: 3566

to nie jest problem
problem mam z tym zeby wszystkie war1 byly szare, wszystkie war3 biale, pozniej war5 szare i tak w kolko

czyli kolorowanie grup w polu select

pomoze ktos jak to zrobic?

kombinuje tak

  1. <?php
  2. $branza = '';
  3. foreach($this->drzewo->dolacz_branze() as $wartosc=>$klucz){
  4.  
  5.  
  6. if($klucz['name1'] == $branza){
  7. $zmien = true;
  8. }
  9. $branza = $klucz['name1'];
  10. //<option.... 
  11. }
  12.  
  13. ?>

wszystkie szare

Ten post edytował AxZx 23.01.2006, 20:33:31


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
quex
post 23.01.2006, 23:12:38
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 11.02.2004

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


Wystarczy sprawdzić, nazwę i gdzie jest war1 do <option> dołączyć style="background-color:"
Go to the top of the page
+Quote Post
AxZx
post 23.01.2006, 23:37:09
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


to byl przyklad:P

nie wiem jakie mam wartosci
wiecej roboty byloby ze sprawdzaniem niz to tego warte
musialbym sprawdzac jakie sa wszystkie glowne branze, posortowac je, i jakos ustawic co druga grupe szara

moze da sie prosciej?


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
crash
post 24.01.2006, 10:19:34
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Posortuj tablicę wg. tej branży, ustaw kolor na szary, dopóki branża jest taka sama koloruj na szary, jeśli się zmieni - zmień kolor na biały - koloruj aż do kolejnej zmiany. I tak w kółko.


--------------------
Go to the top of the page
+Quote Post
AxZx
post 24.01.2006, 13:02:02
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


nie wiem co napisac. zaskoczyles mnie.

jakbys nie zauwazyl to mam juz posortowana tablice.

wlasnie o to pytalem co napisales
Cytat
ustaw kolor na szary, dopóki branża jest taka sama koloruj na szary, jeśli się zmieni - zmień kolor na biały - koloruj aż do kolejnej zmiany. I tak w kółko.


jak to zrobic?


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
crash
post 24.01.2006, 13:24:44
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. $branza = '';
  3. foreach( $this->drzewo->dolacz_branze() as $wartosc => $klucz )
  4. {
  5.  $kolor = '#' . ( ( $klucz[ 'name1' ] != $branza ) ? 'cccccc' : 'ffffff' );
  6.  $branza = $klucz[ 'name1' ];
  7.  
  8.  echo '<option style="background-color: ' . $kolor . ';">...</option>';
  9. }
  10. ?>


--------------------
Go to the top of the page
+Quote Post
AxZx
post 24.01.2006, 13:30:24
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


ehh nieporozumienie
wiem jak pokolorowac, wiem jak zrobic warunek:P

jak sprawdzic ze sie zmienia?

jestes pewien ze takie cos dziala? ja takie cos wlasnie napisalem i nie dzialalalo,
  1. <?php
  2. $branza = '';
  3. foreach( $this->drzewo->dolacz_branze() as $wartosc => $klucz )
  4. {
  5.  $kolor = '#' . ( ( $klucz[ 'name1' ] != $branza )
  6. ?>


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
crash
post 24.01.2006, 14:07:41
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Dobra, sorry. Wprowadziłem Cię w błąd, bo użyłem czegoś czego sam nie sprawdziłem. Chodzi o ustawienie background-color dla każdego option, co zaproponował quex. Tak się da? Bo chyba nie... Może zamiast tego zadowoli Cię coś takiego:
  1. <?php
  2. $dane = array(
  3.  array( 'war1', '1' ),
  4.  array( 'war1', '233' ),
  5.  array( 'war1', '3566' ),
  6.  array( 'war3', '546' ),
  7.  array( 'war3', '676' ),
  8.  array( 'war5', '5545' )
  9.  );
  10.  
  11. $branza = '';
  12.  
  13. echo '<select>' . "\n";
  14.  
  15. foreach( $dane as $klucz => $wartosc )
  16. {
  17.  if( $wartosc[ 0 ] != $branza )
  18.  {
  19. echo '<optgroup label="' . $wartosc[ 0 ] . '">' . "\n";
  20.  }
  21.  $branza = $wartosc[ 0 ];
  22.  
  23.  echo '<option>' . $wartosc[ 1 ]. '</option>' . "\n";
  24. }
  25.  
  26. echo '</select>' . "\n";
  27. ?>


--------------------
Go to the top of the page
+Quote Post
AxZx
post 24.01.2006, 18:20:31
Post #9





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


wymyslilem cos takiego, nie wiem czy to jest optymalne i poprawne


  1. <?php
  2.  
  3.  $branza = '';
  4.  $zmiana = 0;
  5.  foreach($this->drzewo->dolacz_branze() as $wartosc=>$klucz){
  6.  
  7. if($branza != $klucz['name1']){
  8.  $zmiana++;
  9. }
  10. if($zmiana % 2 ==0){
  11.  $kolor = '#cccccc';
  12. }else{
  13.  $kolor = '#ffffff';
  14. }
  15. echo '<option value="'.$klucz['id'].'" style="background-color:'.$kolor.';" >'.$klucz['name1'].': '.$klucz['name2'].'</option>';
  16.  
  17. $branza = $klucz['name1'];
  18.  
  19. }
  20.  
  21. ?>


--------------------
aplikacje internetowe | Symfony
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: 20.06.2025 - 16:32