Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Select-selected - kryterum dla kolejnego wyboru, 1 formularz 1 zapytanie Dynamiczne dane
Dafidov
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 6.07.2005
Skąd: Śląsk Bytom

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


Pewnie się wyda Wszystkim że temat jest juz wyczerpany, przejżałem forum i znalazłem kilka ciekawych topiców:
<option selected>
Przywrócenie wartości pola w form
Pobieranie z bazy mysql wartości dla pola select
i nawet ambitny bardzo pomysl z wykorzystaniem ajaxa

Niestety zasób tej wiedzy nie jest wystarczający aby pomóc mi z moim kłopotem.

Posiadam formularz w którym mam kilka pól wyboru i chciał bym aby każde kolejne pole zostało ograniczone przez wczesniejszego selecta, a ponieważ korzystam z takiej oto funkciji sprawdzającej czy dane zostały wprowadzone do formularza nie wiem czy da się to wogóle zrobić tak jak chce...
Oto funkcja:
  1. <?php
  2.  
  3. if (isset($_POST['submit'])) { // Obsłuż formularz.
  4. // Zarejestruj uzytkownika w bazie danych.
  5. require_once ('inc/mysql_connect.php'); // Połącz się z bazą danych.
  6.  
  7. // Utworz funkcję wstawiającą przed znakami specjalnymi znak odwrotnego ukośnika.
  8. function escape_data ($data) {
  9. global $dbc; // Potrzebujemy połączenia.
  10. if (ini_get('magic_quotes_gpc')) {
  11. $data = stripslashes($data);
  12. }
  13. return mysql_real_escape_string($data, $dbc);
  14. } // Koniec funkcji.
  15.  
  16. $message = NULL; // Utwórz nową, pustą zmienną.
  17.  
  18.  
  19. $sb = escape_data($_POST['id_kierunek']);
  20. $sc = escape_data($_POST['id_wydzial']);
  21. $sd = escape_data($_POST['id_rok_akad']);
  22. $se = escape_data($_POST['id_prz_pr_na']);
  23. $sf = escape_data($_POST['rok']);
  24. $sg = escape_data($_POST['id_pracownik']);
  25. $sh = escape_data($_POST['grupa']);
  26.  
  27. ?>


Pod zmiennymi wstawiam konkretne pola z formularza według których chcę dokonać ograniczeń.

Oto dwa przykładowe pola formularza wobec których chciał bym zastosować te ograniczenia:
  1. Rok studiów: <select name="rok" selected="<?php if (isset($_selected['rok'])) echo $_POST['rok']; ?>"/>
  2. <?php
  3. $query = "select distinct left(skrot,1) as rok from grupa";
  4. $result = mysql_query($query);
  5.  
  6. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  7. echo "<option value=\"{$row['rok']}\">{$row['rok']}</option>\n";
  8. }
  9. echo '</select>';
  10. ?><br /><br />
  11.  
  12. Wybierz grupę: <select name="grupa" selected="<?php if (isset($_selected['grupa'])) echo $_POST['grupa']; ?>"/>
  13. <?php
  14. $query = "select distinct id, skrot from grupa where skrot like '$sf%' and id_wydzial like '$sc' and id_kierunek like '$sb' and id_rok_akad like '$sd'";
  15. $result = mysql_query($query);
  16.  
  17. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  18. echo "<option value=\"{$row['id']}\">{$row['skrot']}</option>\n";
  19. }
  20. echo '</select>';
  21. ?><br /><br />


Tabela grupa wygląda tak:


Proszę o pomoc ponieważ nie mam już pomysłów i nie potrafie sam sobie poradzić z tym problemem sad.gif

Z góry dziękuję smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 19.08.2025 - 10:54