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...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:15