Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> <SELECT><OPTION ... php i zmienne
Lout11
post 21.07.2007, 17:06:31
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.04.2007

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


Witam serdecznie. To moj pierwszy wpis na forum php (chociaz przegladam je juz od dluzszego czasu), tym razem nie znalazlem jednak potrzebnej informacji ani tutaj ani nigdzie indziej i sczerze mówiąc nie mam pojęcia jak to ugryźć .



Mianowicie, mam taka czesc w formularzu :


  1. <form action="" method="POST">
  2. <select name="countries">
  3. <option value="formularz.php?league=1">England';
  4. <option value="formularz.php?league=2">Spain;
  5. <option value="formularz.php?league=3">Italy';
  6. <option value="formularz.php?league=4">Sweden';
  7. .....
  8. .....


Dane przekazywane sa do pliku *.php metoda POST i zapisywane do zmiennej $country

  1. <?php
  2. $contry = $_POST['countries'];
  3.  
  4.  echo $country;
  5. ?>


Po wykonaniu echo widać, że do zmiennej została przypisana wartość value z option, a nie nazwa państwa (na czym wlasnie mi zalezy)
Co zrobić aby do zmiennej została przypisana nazwa panstwa, zachowujac jednoczesnie poprzednie wartosci w value ? Czy jest w ogole taka mozliwosc questionmark.gif ... przyznam ze stracilem kupe czasu na szukanie info w necie i nic ...

p.s
... jesli nie da sie tego zrobic wprost to moze ktos zna jakis sposob, ktory pozwoli to obejsc.

Bardzo dziekuje za wszelkie sugestie.
Go to the top of the page
+Quote Post
Babcia@Stefa
post 21.07.2007, 17:16:07
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, rozwiązanie to:
Kod
<form action="plik.php" method="POST">
<select name="countries">
<option value="England">England</option>
<option value="Spain">Spain</option>
<option value="Italy">Italy</option>
<option value="Sweden">Sweden</option>
</select>


[plik.php]
  1. <?php
  2. $selected = $_POST['countries'];
  3. echo 'Wybrałeś: ' .$selected;
  4. ?>


Poprostu w action podajesz do ścieżkę do pliku php który pokaże co wybrałeś, a value to wartość tego co wybrałeś.

I takie pytanie:
Co to ma być:
Cytat(Pani lodzia napisał(a))
<option value="formularz.php?league=1">England';

Hahahha biggrin.gif
Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 21.07.2007, 17:20:50


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
Lout11
post 21.07.2007, 18:11:48
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.04.2007

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


  1. <form action="plik.php" method="POST">
  2. <select name="countries">
  3. <option value="England">England</option>
  4. <option value="Spain">Spain</option>
  5. <option value="Italy">Italy</option>
  6. <option value="Sweden">Sweden</option></select>




Tyle to akurat wiem tongue.gif

Postaram sie nieco dokladniej przedstawic problem, bo post powyzej to wersja nieco uproszczona.

Ogolnie potrzebuje stworzyc formularz, ktory po nacisnieciu przycisku 'sumbit' bedzie przekazywal do bazy danych statystyki meczowe.
Ale niektore pola takie jak np. nr kolejki czy data mialby byc wstawiane automatycznie w formularzu jako domyslne (po wczesniejszym pobraniu danych z bazy mysql i wykonaniu odpowiednich funkcji)

W tym momencie dane o lidze i druzynach sa przekazywane za pomoca GET bez uzycia przycisku 'submit' wlasnie poprzez <select>, a wyglad formularza (zaznaczone pozycje) aktualizowany jest automatycznie

Wyglada to mniej wiecej tak:



  1. <select onchange="self.location.href = this.value" name="home_team">
  2. <?php PobierzDruzyny(); ?>




  1. <?php
  2. function PobierzDruzyny()
  3. {
  4. $zapytanie= 'SELECT * from teams';
  5.  
  6. $wynik = $db->query($zapytanie);
  7.  
  8.  
  9.  
  10. if (isset($_GET['team1']))
  11. {
  12. $team1 = $_GET['team1'];
  13. }
  14. else 
  15. {
  16. $team1 = 1;
  17. }
  18. if (isset($_GET['league']))
  19. {
  20. $league = $_GET['league'];
  21. }
  22. else
  23. {
  24. $league = 1;
  25. }
  26.  
  27. while($wiersz = $wynik->fetch_assoc())
  28. {
  29. $nazwa=$wiersz['team_sname'];
  30. $away_team_id=$wiersz['team_id'];
  31.  
  32. if( $wiersz['team_id'] == $_GET['team2'] )
  33. {
  34. $selected = 'selected="selected"';
  35. }
  36. else 
  37. {  
  38. $selected = ''; 
  39. }
  40.  
  41.  
  42.  
  43. echo '<option label='.$nazwa.' value="formularz.php? league='.$league.'&team1='.$team1.'&team2='.$away_team_id.'" '.$selected.'>'.$nazwa.'</option>';
  44.  
  45. }
  46. }
  47. ?>


Zblizone funkcje sa rowniez wykonywane gdy na formularzu zostanie wskazana druga druzyna lub gdy za pomoca option buttona zmieniana jest liga.

I wszystko pieknie dziala ... dopoki nie nacisne przycisku submit.... bo wtedy do zmiennej zamiast nazwy druzyn i nazwy ligi trafia : " formularz.php?league=1&team1=1&team2=10" lub cos podobnego. sad.gif
Go to the top of the page
+Quote Post
kwiateusz
post 22.07.2007, 15:05:07
Post #4


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Proszę o zapoznanie się z tematem: Temat: Tematyka i zasady panujące na forum Przedszkole a następnie czekam na PW z poprawnym tagiem.

Do tego czasu temat pozostanie zamknięty.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 01:24