Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [CSS][PHP] Kolor elementu uzależniony od przekazanej wartości w zmiennej

Napisany przez: brzanek 30.11.2023, 09:52:04

Witam proszę o pomoc w jaki sposób uzyskać odpowiedni kolor elementu uzależniony od wartości przekazanej w $_GET
Mam kod

  1. <?
  2. include('../../includes/header.php');
  3. include('dane.php');
  4.  
  5. $model = $_GET['model'];
  6. $rodzaj = $_GET['rodzaj'];
  7.  
  8. include('array.php');
  9. ?>
  10. <link href="mapaecmwf.css" rel="stylesheet">
  11. <?php
  12. http://www.php.net/echo '<div class="container-fluid text-center marginesy">';
  13. include('menu.php');
  14. http://www.php.net/echo '</div>';
  15.  
  16. http://www.php.net/echo '<div class="container-fluid text-center marginesy">';
  17. http://www.php.net/echo '<br><h1 class="text-center"><b>'.$rodzajelementu[($rodzaj)].' ('.$model.')</b></h1><br><br>';
  18. http://www.php.net/echo "<div class='text-center'><img src='https://adres.pl/legenda_".$rodzajlegendy[($rodzaj)].".png' class='img-fluid' alt='Responsive image'><br><br></div>";
  19. http://www.php.net/echo '</div>';
  20.  
  21. http://www.php.net/echo '<div class="container-fluid text-center marginesy">
  22. <div class="row">
  23. ';
  24.  
  25. include('mapa.php');
  26.  
  27. http://www.php.net/echo '</div>';
  28. http://www.php.net/echo '</div>';
  29. include('../../includes/footer.php');
  30. ?>


Zawartość pliku mapa.php
  1. <?
  2. include('../dane.php');
  3. $temperature_2m=http://www.php.net/array(
  4. '-7' => '#7fc4ff',
  5. '-6' => '#91ccff',
  6. '-5' => '#9ad0ff',
  7. '-4' => '#a3d4ff',
  8. '-3' => '#b5dcff',
  9. '-2' => '#c7e4ff',
  10. '-1' => '#d9ecff',
  11. '-0' => '#d9ecff',
  12. '0' => '#b1f1d6',
  13. '1' => '#95dfbc',
  14. '2' => '#87d3ab',
  15. '3' => '#62af88',
  16. '4' => '#4a9775',
  17. '5' => '#07a127',
  18. );
  19.  
  20. $godzinaa=http://www.php.net/date("G");
  21. $minutaa=http://www.php.net/date("i");
  22. $number = http://www.php.net/range($godzinaa, $godzinaa + 110);
  23. $numberbestt = http://www.php.net/range($godzinaa, $godzinaa + 100);
  24.  
  25. foreach ($numberbestt as $dwd) {
  26. //$kollor = ceil(''.$response['hourly'][$rodzajmodel][$dwd].'').'_'.$rodzaj;
  27. //echo $tempArray4[($kollor)];
  28. $rodzajarrey = $rodzaj;
  29. $rodzajmodel = $rodzaj.'_'.$model;
  30. //echo $rodzajmodel;
  31. http://www.php.net/echo '<div class="col-4 odstt pozycja">';
  32. http://www.php.net/echo "<div class=''><img src='obrazek_prognoza.jpg' class='img-fluid' alt='Responsive image'>";
  33.  
  34. //$dzien = date('N'' => '',' strtotime($cond['time']));
  35. //$dni_tygodnia = array('Poniedziałek'' => '',' 'Wtorek'' => '',' 'Środa'' => '',' 'Czwartek'' => '',' 'Piątek'' => '',' 'Sobota'' => '',''Niedziela');
  36. //<i class="wi wi-night-sleet"></i>
  37. http://www.php.net/echo '<div class="czas"><b>'.$rodzajelementu[($rodzaj)].' ('.$model.')</b><br>'.$response['hourly']['time'][$dwd].'</div>';
  38. http://www.php.net/echo '<div class="choszczno" style="background-color: '.$tempArray4[http://www.php.net/ceil(''.$response['hourly'][$rodzajmodel][$dwd].'')].'">'.http://www.php.net/round($response['hourly'][$rodzajmodel][$dwd],1).'</div>';
  39. http://www.php.net/echo '<div class="szczecin" style="background-color: '.$tempArray4[http://www.php.net/ceil(''.$responseszczecin['hourly'][$rodzajmodel][$dwd].'')].'">'.http://www.php.net/round($responseszczecin['hourly'][$rodzajmodel][$dwd],1).'</div>';
  40. http://www.php.net/echo '<div class="darlowo" style="background-color: '.$tempArray4[http://www.php.net/ceil(''.$responsedarlowo['hourly'][$rodzajmodel][$dwd].'')].'">'.http://www.php.net/round($responsedarlowo['hourly'][$rodzajmodel][$dwd],1).'</div>';
  41. http://www.php.net/echo "</div>";
  42. http://www.php.net/echo "</div>";
  43. }
  44. ?>


wartość $tempArray4 pobierana jest z pliku 'array.php i wszystko ładnie działa ale w zależność od wartości przekazywanej w adresie $rodzaj = $_GET['rodzaj']; chciałbym aby zmieniał się odpowiedni kolor elementu style="background-color: '.$tempArray4[ceil(''.$response['hourly'][$rodzajmodel][$dwd].''

Podaję przykład jeśli w adresie mam /index.php?model=best_match&rodzaj=precipitation
Jako rodzaj precipitation
To w tej linii
  1. http://www.php.net/echo '<div class="choszczno" style="background-color: '.$tempArray4[http://www.php.net/ceil(''.$response['hourly'][$rodzajmodel][$dwd].'')].'">'.http://www.php.net/round($response['hourly'][$rodzajmodel][$dwd],1).'</div>';

Gdzie jest background-color: '.$tempArray4 dał bym background-color: '.$kolor[($rodzaj)]
W pliku array.php odpowiednie kolory
  1. $precipitation=http://www.php.net/array(
  2. '-7' => '#7fc4ff',
  3. '-6' => '#91ccff',
  4. '-5' => '#9ad0ff',
  5. '-4' => '#a3d4ff',
  6. '-3' => '#b5dcff',
  7. '5' => '#07a127',
  8. );

Coś takiego

Napisany przez: trueblue 30.11.2023, 12:18:52

Cytat(brzanek @ 30.11.2023, 09:52:04 ) *
wartość $tempArray4 pobierana jest z pliku 'array.php i wszystko ładnie działa [...]

Co właściwie pobierasz z $tempArray4 i ładnie działa, skoro nie działa, bo chcesz tam wstawić kolor?
Gdzie jest $tempArray4? W pliku array.php jest tablica $precipitation.
Jest też tablica z kolorami o nazwie $temperature_2m.

Skoro chcesz pobrać kolor z tablicy, to musisz pobrać ją na podstawie indeksu, czyli musisz dostarczyć wartość od -7 do 5 jako indeks.

Napisany przez: brzanek 30.11.2023, 12:31:55

Przepraszam za zamieszanie w pliku array.php mam

  1. $tempArray4=http://www.php.net/array(
  2. '-7' => '#7fc4ff',
  3. '-6' => '#91ccff',
  4. '-5' => '#9ad0ff',
  5. '-4' => '#a3d4ff',
  6. '-3' => '#b5dcff',
  7. '5' => '#07a127',
  8. ...
  9. );

I wszystko działa ale jak chcę zmienić parametr $rodzajmodel z adresu to zawsze pobiera kolor właśnie z $tempArray4
Chciałbym aby kolor był pobierany z dobrej palety kolorów a nie tylko z $tempArray4
W pliku array.php dodam sobie kilka palet z odpowiednimi kolorami ale jak zrobić aby po adresie wybierana była odpowiednia paleta.

Napisany przez: nospor 30.11.2023, 15:42:24

juz ci kiedys, w zasadznie niedawno, mowili tutaj o tablicy wielowymiarowej. Tam sobie trzymaj rodzaje i temperatury i z banki

  1.  
  2. $tablica = [
  3. 'precipitation' => [
  4. '-7' => '#7fc4ff',
  5. '-6' => '#91ccff',
  6. '-5' => '#9ad0ff',
  7. '-4' => '#a3d4ff',
  8. '-3' => '#b5dcff',
  9. '5' => '#07a127',
  10. .....
  11. ],
  12. 'inny rodzaj' => [
  13. '-7' => '#7fc4ff',
  14. '-6' => '#91ccff',
  15. '-5' => '#9ad0ff',
  16. '-4' => '#a3d4ff',
  17. '-3' => '#b5dcff',
  18. '5' => '#07a127',
  19. .....
  20. ],
  21. // itd itd
  22.  
  23.  
  24. ]
  25.  

a potem tylko

  1. $tablica[$rodzaj][$temperatura]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)