Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][php] przekazanie wartości do select (formularze)
Forum PHP.pl > Forum > Przedszkole
THOR_JAN
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


Ghost_78
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>';
THOR_JAN
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.
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.