Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][php] przekazanie wartości do select (formularze)
THOR_JAN
post 23.11.2010, 23:07:53
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.02.2010

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


Witam

mam problem a mianowicie

potrzebuje pobrać z bazy danych wartości do formularza a konkretnie do pola <select>
tabela "cennik" a dane z pola "tygodni"

następnie jeśli ktoś wybierze coś z pola <select> to przy pomocy "onchange="this.form.submit()" wróci na tą samą stronę z formularzem i chciałbym metodą "POST BACK" tak mi się wydaje, aby wartość jaką wybrał z pola <select> była już przypisana do tegoż pola.

wcześniej rozwiązałem ten problem sprawdzając co wybrał użytkownik i na podstawie value wyświetlałem okno (było to bez pobierania danych z MySQL)<select>
  1. $tygodni= $_POST['tygodni'];
  2. if (isset($tygodni)){
  3. if ($tygodni ==0) {
  4. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option selected value=0>0</option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select>';
  5. }
  6. elseif ($tygodni ==1){
  7. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option value=0>0</option><option selected value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select>';
  8. }
  9. elseif ($tygodni ==2){
  10. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option value=0>0</option><option value=1>1</option><option selected value=2>2</option><option value=3>3</option><option value=4>4</option></select>';
  11. }
  12. elseif ($tygodni ==3){
  13. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option value=0>0</option><option value=1>1</option><option value=2>2</option><option selected value=3>3</option><option value=4>4</option></select>';
  14. }
  15. elseif ($tygodni ==4){
  16. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option value=0>0</option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option selected value=4>4</option></select>';
  17. }
  18. }
  19. else{
  20. echo '<select onchange="this.form.submit()" id="tygodni" name="tygodni"><option selected value=0>0</option><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select>';
  21. };


wartość "value" i to co jest wyświetlane urzytkownikowi nie zawsze jest takie same exclamation.gif i tak też jest w tabeli MySQL

np dla "5" wyświetlane jest <option selected value=4.5>5</option>

proszę o porady.
Pozdrawiam


Go to the top of the page
+Quote Post
Ghost_78
post 24.11.2010, 08:19:31
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


mozna np tak:
  1. $query = mysql_query('...');
  2. echo '<select>';
  3. while ($row=mysql_fetch_assoc($query)){
  4. echo '<option value="'.$row[np_id].'">'.$row[dane_do_pokazania].'</option>';
  5. }
  6. echo '</select>';


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
THOR_JAN
post 24.11.2010, 22:30:57
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.02.2010

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


po ciężkim boju udało się

Moje rozwiązanie

  1. $ilosc= $_POST['ilosc'];
  2. echo '<select onchange="this.form.submit()" id="ilosc" name="ilosc">';
  3. $result = mysql_query("SELECT * FROM wyswietlenia ORDER BY value_wyswietlen asc");
  4. while($row = mysql_fetch_array($result, MYSQL_BOTH)){
  5. if($ilosc == $row['value_wyswietlen']){
  6. echo '<option selected value="'.$row[value_wyswietlen].'">'.$row['wyswietlen'].'</option>';
  7. }
  8. else {
  9. echo '<option value="'.$row[value_wyswietlen].'">'.$row['wyswietlen'].'</option>';
  10. }
  11. }
  12. echo '</select>' ;


tabela: wyswietlenia
kolumny: id_wyswietlenia, value_wyswietlen, wyswietlen

jest możliwość wykonania <submit> bez przeładowania strony coś w sylu ajax-a questionmark.gif
ale znowusz szukalem i nigdzie nie jest to na tyle wytlumaczone ze sobie z tym poradze.

Ten post edytował THOR_JAN 24.11.2010, 22:32:45
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 Wersja Lo-Fi Aktualny czas: 6.07.2025 - 21:47