Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja select jak zastąpić kod
Forum PHP.pl > Forum > Przedszkole
brzanek
Witam mam problem jak mogę ten kod

  1. openside($locale['news_02056']);
  2. echo '<select>';
  3. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  4. while ( $row = mysqli_fetch_array($result) ) {
  5. echo '<option value="'.$row['miasto'].'">'.$row['miasto'].'</option>';
  6. }
  7. echo '</select>';
  8. closeside();


zapisać w takiej formie

  1. openside('');
  2. echo form_select('dzien', $locale['news_02056'], $_GET['dzien'],
  3. 'inline' => TRUE,
  4. 'inner_width' => '100%',
  5. 'options' => array(
  6. '%' => '%',
  7. '"'.$row['miasto'].'"'
  8. )
  9. )
  10. );
  11. closeside();


Dobra zrobiłem coś takiego
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto1', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => array(
  10. 'miejscowosci' => $miejscowosci
  11. )
  12. )
  13. );
  14. closeside();

Ale dlaczego mam tylko jeden i ostatni rekord skoro w bazie mam kilkadziesiąt.
olszam
Źle zamknąłeś pętlę albo zapomniałeś ze zmiennej $miejscowości zrobić tablicę.
brzanek
A jak z niej zrobić tablicę?
olszam
najprościej

Kod
$miejscowosci[] = $row['miasto'];
brzanek
Taki sposób wyświetla tylko Array
Brak danych z BD
nospor
To moze pokaz kod po zmianach bo prawdopodobnie cos sknociles po drodze
brzanek
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. echo ''.$miejscowosci.'';
  6. openside($locale['news_02056']);
  7. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  8. 'inline' => TRUE,
  9. 'inner_width' => '100%',
  10. 'options' => array(
  11. $miejscowosci => $miejscowosci
  12. )
  13. )
  14. );
  15. closeside();
nospor
$miejscowosci => $miejscowosci
questionmark.gif

No i tak poza tym nie powinno byc poprostu

'options' => $miejscowosci
?
brzanek
OK DODAŁEM TAK
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. //echo ''.$miejscowosci.'';
  6. openside($locale['news_02056']);
  7. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  8. 'inline' => TRUE,
  9. 'inner_width' => '100%',
  10. 'options' => $miejscowosci
  11. )
  12. );
  13. closeside();

Ale teraz po wyborze zamiast nazwy mam liczbę.
nospor
print_r($miejscowosci);
brzanek
  1. print_r($miejscowosci);

daje nazwę ale też liczby.
Array ( [0] => ADAMOWICE [1] => ALEKSANDRÓWKA [2] => ALWERNIA [3] => ANNOPOL [4] => BABIĘTA [5] => BABORÓW [6] => BACIUTY [7] => BAKAŁARZEWO [8] => itd
Ja potrzebuję aby w select podawana była nazwa a nie liczba.
nospor
'options' => array_flip($miejscowosci)

? Nie wiem jakiego libu uzywasz wiec zgaduje
brzanek
Teraz
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => array_flip($miejscowosci)
  10. )
  11. );
  12. closeside();

jest zupełnie odwrotnie w polu wyboru mam liczby ale jak już wybiorę to w adresie pojawia się nazwa miejscowości
A tak jak było wcześniej
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => $miejscowosci
  10. )
  11. );
  12. closeside();

W polu wyboru mam nazwy miejscowości ale po wybraniu w adresie pojawia się id wybranej miejscowości z tablicy.
Powinno być że i w polu select i w adresie po dokonaniu wyboru powinna być nazwa miejscowości
Podaję adres strony aby lepiej to zrozumieć
pogoda-zachodniopomorskie.pl/klimat_imgw/opady.php
nospor
To skoro, jako tekst i jako wartosc, chcesz miec miejscowosc, to jako tekst i jako wartosc wstawiaj miejscowosc. To sa podstawy html

nie: $miejscowosci[] = $row['miasto'];
a: $miejscowosci[$row['miasto']] = $row['miasto'];
brzanek
super działa - dzięki
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.