Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Hej,
Od dwóch dni szukam na sieci rozwiazania do mojego problemu. Jestem już blisko, ale potrzebuję pomocy. Chodzi mi o coś takiego. Mam w bazie danych pewne kategorie i podkategorie. W formularzu mam select, w którym mogę sobie wybrać kategorię główną. Chciałbym aby po wybraniu pojawiło się na stronie tyle checkboxów ile jest podkategorii. I to w zasadzie tyle. Wybór tych kategorii z selecta, jest tylko częścią większego formularza, więc nie mogę tego zamkąć w form i przeładować strony. Próbuję używać javascript i innerHTML.. W select mam akcję: Kod onchange="showCat(this.options[selectedIndex].value);" i w tej funkcji showCat muszę mieć coś takiego: function show($id){ $query = mysql_query("SELECT * from $tbl_categories WHERE ref='".$id."'"); while($r = mysql_fetch_array($query)) { $innerHtml.="<input type=\"checkbox\"/>".$r['name']."<br/>"; } obj=document.getElementById("cat"); obj.style.visibility=\'visible\'; obj.innerHTML='.$innerHtml.' } Ta funkcja to oczywiście poplątanie php i javascript i właśnie mam problem z jakimś rozdzieleniem tego... Ktoś pomoże? Ten post edytował Mark Tempe 25.03.2007, 13:36:37 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Przykład rozumiem bardzo dobrze. Tylko problemy mam jeśli chodzi o przypadek, który ja opisywałem, gdzie muszę wywołać funkcję na zdarzenie onChange w selectcie, która musi wykonać kod php (pobranie z bazy danych rekordów) i wstawienie wyniku wygenerowanego przez to zapytanie w diva.
Więc muszę przesyłać sobie zmienną między javascript a php i tego nie potrafię. Teraz na podstawie przykładu i naszej dotychczasowej rozmowy mam coś takiego. Kod function show($id){ $query = mysql_query("SELECT * from $tbl_categories WHERE ref='".id."'"); while($r = mysql_fetch_array($query)) { $innerHtml.="<input type=\"checkbox\"/>".$r['name']."<br/>"; } return $innerHtml } ?> <script> function showCat(x) { obj=document.getElementById("cat"); obj.style.visibility='visible'; obj.innerHTML="<? echo show(x); ?>"; </script> Nie mam możliwosci sprawdzenia tego teraz, ale czuję, że jeśli nie mam innych błędów, to na pewno źle przesyłam zmienną do funkcji show(x), ponieważ w kodzie php używam zmiennej z js. Chodzi mi o tą linijkę w showCat(); Kod obj.innerHTML="<? echo show(x); ?>"; Jeśli mógłbyś mi podać przykład bardziej podobny do mojego przypadku (przesyłanie zmiennych, zapytanie z bazy danych za kazdym razem gdy zmieniam select), lub bezpośrednio pomóc mi z tym kodem będę wdzięczny. Tak, jak pisałem - wszystkie ogólne zasady rozumiem - problem mam, jeśli chodzi w przesyłanie tych zmiennych i komunikacja z bazą danych każdorazowo po zmianie select. |
|
|
|
Mark Tempe [javascript+php+mysql] Inputy z bazy w zależności od selecta 24.03.2007, 16:57:33
ferr Musisz w szablonie PHP miec dostep do zmiennej ... 24.03.2007, 17:24:42
Mark Tempe Dzięki za reakcje, ale ciągle mam błąd.
Na podsta... 24.03.2007, 21:44:39
ferr Stary, nie, nie...
Nie mozna traktowac funkcji PH... 24.03.2007, 22:06:37
Mark Tempe Okej, czyli to nie może być funkcją php, tylko jav... 25.03.2007, 09:39:36
ferr Kurcze, chyba nie zrozumiales . Wyjasnie na przykl... 25.03.2007, 10:37:15
dr_bonzo Prosze uzywac odpowiedniego bbCode dla wstawianego... 25.03.2007, 11:20:23
ferr Aha, w takim razie zainteresuj sie AJAXem.
--... 25.03.2007, 16:12:02
Mark Tempe Wielkie dzięki wszystko działa jak chciałem. No i ... 25.03.2007, 21:32:15 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 19:21 |