• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

php menu rozwijane

Object Storage Arubacloud
+1 głos
403 wizyt
pytanie zadane 5 lutego 2022 w PHP przez gatka84 Bywalec (2,150 p.)
edycja 6 lutego 2022 przez gatka84

Hej jak poprawnie zrobić żeby było menu rozwijane z wyborem i teraz

próbuje zrobić tak żeby 

pod pierwszym przyciskiem rozwijane było menu z wyborem roku (i tu nie wiem jak zrobić żeby pobierał tylko rok z bazy sqli i wyświetlał dynamicznie - mam kolumnę typ " date  current_timestamp() "

pod drugim przyciskiem wybrać miesiąc z tej samej kolumny date, a następnie dane będą ładowane do tabeli z wybranego roku i miesiąca,

będą to odczyty liczników w mieszkaniu raz w miesiącu robione

i czy tak to się da zrobić czy muszę inaczej tabele przygotować tzn osobno miesiące i osobno rok

SELECT `id`, `prad`, `gaz`, `kuchnia_ciepla`, `kuchnia_zimna`, `lazienka_ciepla`, `lazienka_zimna`, `data` FROM `odczyt` WHERE 1; 

 

1 odpowiedź

0 głosów
odpowiedź 9 lutego 2022 przez VBService Ekspert (253,420 p.)
edycja 9 lutego 2022 przez VBService

SELECT  ... , `data` FROM `odczyt` WHERE 1;

 

Może użyj dla roku

SELECT DISTINCT YEAR(`data`) AS `year` FROM `odczyt` ORDER BY `year` DESC;

i podobnie dla miesiąca

SELECT DISTINCT MONTH(`data`) AS `month` FROM `odczyt` ORDER BY `month` ASC;

 

w php-ie tworzenie select-(ów)a np.

$conn = mysqli_connect("localhost", "root", "", "osadnicy");

$sql = "SELECT DISTINCT YEAR(`data`) AS `year` FROM `odczyt` ORDER BY `year` DESC";
$res_year = mysqli_query($conn, $sql);

$sql = "SELECT DISTINCT MONTH(`data`) AS `month` FROM `odczyt` ORDER BY `month` ASC";
$res_month = mysqli_query($conn, $sql);

$options_year = '';
while ($row = mysqli_fetch_array($res_year)) {
  $options_year .= '<option value="'.$row['year'].'">'.$row['year'].'</option>';
}
mysql_free_result($res_year);
unset($row);

$month_pl = [
  '', 'styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec', 
  'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień'
];
$options_month = '';
while ($row = mysqli_fetch_array($res_month)) {
  $options_month .= '<option value="'.$row['month'].'">'.$month_pl[$row['month']].'</option>';
}
mysql_free_result($res_month);

mysqli_close($conn);
?>
<!-- <form action="" method="post"> -->

<select name="f_data_years" id="f_data_years">
<option value="0" selected>Wybierz rok</option>
<?php echo $options_year; ?>
</select>

<select name="f_data_month" id="f_data_month">
<option value="0" selected>Wybierz miesiąc</option>
<?php echo $options_month; ?>
</select>

<!-- <button type="submit" id="submit">Twój tekst</button> -->
<!-- </form> -->

 

 

P.S.

Podobne pytania

0 głosów
1 odpowiedź 481 wizyt
pytanie zadane 3 maja 2023 w HTML i CSS przez HUBSON2912 Obywatel (1,300 p.)
0 głosów
1 odpowiedź 293 wizyt
pytanie zadane 18 września 2022 w HTML i CSS przez MacieKap Bywalec (2,400 p.)
+1 głos
1 odpowiedź 441 wizyt

92,582 zapytań

141,433 odpowiedzi

319,666 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...