Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Lista rozwijana - aktualna strona
Croos22
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


Witam.

Zrobiłem listę rozwijaną danymi z bazy ale w tym wypadku po wybraniu czegokolwiek z listy odsyła na podaną stronę. Problem polega na tym, że wraca ona do wartości pierwszej. Całość znajduje się w pętli więc selected="selected" odpada a wystarczyło by użyć GET ale gdzie skoro w znacznikach option znajduje się nazwa wyświetlana.

Kod.

  1.  
  2. <select name="kontyent" onchange="self.location.href = this.value">';
  3.  
  4. $kontynenty = mysql_query("select * from `mapy`");
  5. while($kont = mysql_fetch_array($kontynenty)){
  6. echo '<option value="?mapa='.$kont['pozycja'].'">'.$kont['pozycja'].'</option>';
  7. }
  8. echo '</select>';


Będę wdzięczny za pomoc.

Ten post edytował Croos22 27.06.2011, 12:44:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
korex
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 4
Dołączył: 2.02.2008

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


  1. echo '<select name="kontyent" onchange="self.location.href = this.value">';
  2.  
  3. $kontynenty = mysql_query("select * from `mapy`");
  4. while($kont = mysql_fetch_array($kontynenty)){
  5. if($kont['pozycja'] == $_GET['mapa'])
  6. {
  7. echo '<option value="?mapa='.$kont['pozycja'].'" selected="selected">'.$kont['pozycja'].'</option>';
  8. }
  9. else
  10. {
  11. echo '<option value="?mapa='.$kont['pozycja'].'">'.$kont['pozycja'].'</option>';
  12. }
  13. }
  14. echo '</select>';
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Czemu odpada? Jeśli chcesz zaznaczyć jakąs pozycję to musisz to selected jakoś przechwycić i ustawić ktorejś Option. Czy zrobisz to na poziomie php ( podczas generowania wiesz gdzie idziesz, bo masz adres ), czy na poziomie js (masz dostęp do obiektu adresu) to już chyba nie jest ważne...
Go to the top of the page
+Quote Post
askone
post
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

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


Lekko modyfikując podane powyżej rozwiązanie pozbędziesz się duplikacji kodu:

  1. echo '<select name="kontyent" onchange="self.location.href = this.value">';
  2.  
  3. $kontynenty = mysql_query("select * from `mapy`");
  4. while($kont = mysql_fetch_array($kontynenty)){
  5. $selected = ($kont['pozycja'] == $_GET['mapa'])? 'selected = "selected"' : '';
  6.  
  7. echo '<option value="?mapa='.$kont['pozycja'].'" '.$selected.'>'.$kont['pozycja'].'</option>';
  8. }
  9. echo '</select>';


Pozdrawiam
Go to the top of the page
+Quote Post
Croos22
post
Post #5





Grupa: Zarejestrowani
Postów: 316
Pomógł: 4
Dołączył: 22.03.2010

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


W każdym bądź razie uzyskałem efekt jaki chciałem.

Korzystając z tematu mam jeszcze jeden problem z wyciągnięciem danych do array.

  1. $polozenie = mysql_query("select * from `wioski` where `login` = '$login'");
  2. while($polo = mysql_fetch_array($polozenie)){
  3. $cel = array(echo $polo['numer'];)
  4. }



Zdaję sobie sprawę z tego że to jest źle ale to tylko przykład aby było wiadomo o co mi chodzi.
Go to the top of the page
+Quote Post
Sagnitor
post
Post #6





Grupa: Zarejestrowani
Postów: 34
Pomógł: 3
Dołączył: 29.05.2011

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


  1. $cel = array();
  2. $polozenie = mysql_query("select * from `wioski` where `login` = '$login'");
  3. while($row = mysql_fetch_array($polozenie))
  4. {
  5. $cel[] = $row['numer'];
  6. }


Moja propozycja.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:51