Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: <SELECT><OPTION ... php i zmienne
Forum PHP.pl > Forum > Przedszkole
Lout11
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.
Babcia@Stefa
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
Lout11
  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
kwiateusz
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.
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.