![]() |
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 22:55 |