Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybieranie opcji
Forum PHP.pl > Forum > PHP
matti9410
Witam mam pytanie w jaki sposób mogę zrobić pole wyboru select tak żeby było dynamiczne np.
Mam opcje
1
2
3

i jak wybiore z listy 1 wyświetli się napis jeden jak wybiore 2 wyświetli się napis dwa. Chodzi o to aby nie było przycisku submit.
sebek222
  1. <select onchange="this.form.submit()">
  2. <option value="1">1</option>
  3. <option value="2">2</option>
  4. <option value="3">3</option>
matti9410
Nie wiem czemu ale działa mi to tylko za pierwszym razem mój kod wygląda następująco smile.gif :
  1. include 'templates/menu.tpl';
  2. echo '<form action="" method="post"><span id="naglowek">Wybierz kategorię: </span>';
  3. db_connect();
  4. $zapytanie1 = "SELECT * FROM menu";
  5. $wynik1 = mysql_query($zapytanie1) or die('Błąd zapytania');
  6.  
  7. echo "<select onchange=\"this.form.submit()\" name=\"kategoria\">";
  8. while ( $row = mysql_fetch_row($wynik1) ) {
  9. $nazwa = $row[1];
  10. $wartosc = $row[2];
  11. echo "<option value=\"$wartosc\">$nazwa</option>";
  12. }
  13. db_close();
  14. echo "</select></from>";
  15. echo '<hr style="margin-top: 5px; margin-bottom: 5px;" size="1" color="#ededed"/>';
  16.  
  17. $kategoria = $_POST['kategoria'];
  18. echo '<form action="" method="post">';
  19. db_connect();
  20. $zapytanie2 = "SELECT * FROM $kategoria";
  21. $wynik2 = mysql_query($zapytanie2) or die('Brak zdjęć');
  22. while ( $row = mysql_fetch_row($wynik2) ) {
  23. $id = $row[0];
  24. $link = $row[2];
  25. echo '<div style="float:left; width:150px; height:150px; margin:10px; background:url(../'. ($link) .'); no-repeat; background-size:cover; background-attachement:fixed; 50% 50%"><input type="checkbox" name="zdjecie" value="$id" /></div>';
  26. }
  27. db_close();
  28. echo '<hr style="margin-top: 10px; width: 100%; margin-bottom: 5px;" size="1" color="#ededed"/>';
  29. echo '<input style="padding: 5px; float: right;" type="submit" name="submit" value="Usuń wybrane"/></form>';
sebek222
Cytat(matti9410 @ 15.05.2014, 21:40:00 ) *
Nie wiem czemu ale działa mi to tylko za pierwszym razem mój kod wygląda następująco smile.gif :
  1. include 'templates/menu.tpl';
  2. echo '<form action="" method="post"><span id="naglowek">Wybierz kategorię: </span>';
  3. db_connect();
  4. $zapytanie1 = "SELECT * FROM menu";
  5. $wynik1 = mysql_query($zapytanie1) or die('Błąd zapytania');
  6.  
  7. echo "<select onchange=\"this.form.submit()\" name=\"kategoria\">";
  8. while ( $row = mysql_fetch_row($wynik1) ) {
  9. $nazwa = $row[1];
  10. $wartosc = $row[2];
  11. echo "<option value=\"$wartosc\">$nazwa</option>";
  12. }
  13. db_close();
  14. echo "</select></from>";
  15. echo '<hr style="margin-top: 5px; margin-bottom: 5px;" size="1" color="#ededed"/>';
  16.  
  17. $kategoria = $_POST['kategoria'];
  18. echo '<form action="" method="post">';
  19. db_connect();
  20. $zapytanie2 = "SELECT * FROM $kategoria";
  21. $wynik2 = mysql_query($zapytanie2) or die('Brak zdjęć');
  22. while ( $row = mysql_fetch_row($wynik2) ) {
  23. $id = $row[0];
  24. $link = $row[2];
  25. echo '<div style="float:left; width:150px; height:150px; margin:10px; background:url(../'. ($link) .'); no-repeat; background-size:cover; background-attachement:fixed; 50% 50%"><input type="checkbox" name="zdjecie" value="$id" /></div>';
  26. }
  27. db_close();
  28. echo '<hr style="margin-top: 10px; width: 100%; margin-bottom: 5px;" size="1" color="#ededed"/>';
  29. echo '<input style="padding: 5px; float: right;" type="submit" name="submit" value="Usuń wybrane"/></form>';


Zdarzenie onchange zadziała zawsze, kiedy zmieni się wartość select'a. Tutaj widzę literówke:
  1. echo "</select></from>";

Powinno być:
  1. echo "</select></form>";
matti9410
Działa ! smile.gif jedna literka a tyle zmienia tongue.gif. Dzięki smile.gif
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.