1 kod ( prawidłowy )
<?php $id = $_GET['id']; switch($id) { case 1: '11'=>'Kategoria 1.1', '12'=>'Kategoria 1.2', '13'=>'Kategoria 1.3' ); break; case 2: '21'=>'Kategoria 2.1', '22'=>'Kategoria 2.2', '23'=>'Kategoria 2.3', '24'=>'Kategoria 2.4' ); break; case 3: '31'=>'Kategoria 3.1', '32'=>'Kategoria 3.2' ); break; case 4: '41'=>'Kategoria 4.1', '42'=>'Kategoria 4.2', '43'=>'Kategoria 4.3' ); break; default: break; } } ?>
Powyższy kod zwraca mi wynik w przeglądarce:
[{"11":"Kategoria 1.1","12":"Kategoria 1.2","13":"Kategoria 1.3"}][{"11":"Kategoria 1.1","12":"Kategoria 1.2","13":"Kategoria 1.3"}][{"11":"Kategoria 1.1","12":"Kategoria 1.2","13":"Kategoria 1.3"}]
kod 2 ( który próbuje zrobić )
<?php include('db.php'); $id = $_GET['id']; } } ?>
Wynik zwrócony:
[{"48":"Remonty i wyko\u0144czenia"},{"49":"Budowa"},{"50":"Wyposa\u017cenie wn\u0119trz"},{"51":"Instalacje i naprawy"},{"52":"Obs\u0142uga"},{"53":"Inne"}]
No i jak widać kod 1 zwraca mi inny wynik niż 2, a muszę osiągnąć taki sam wynik bo liste nie chce mi wyświetlić wklejam reszte kodów ze skryptu:
select.js
$(document).ready(function() { //przypisanie akcji wywołania dodatkowej listy do zdarzenia typu change $('#kategorie').live('change', function(){ var id = $(this).val(); //adres url do pliku PHP z kodem generującym dane w formacie JSON var url = 'select.php?id='+id; //jeśli istnieje juş select-lista o id: podkategorie, to usuń ją if($('#podkategorie').length>0) $('#podkategorie').remove(); //metoda pobierająca dane JSON z podanego adresu w zmiennej url $.getJSON( url, function(data){ //tworzymy nową, pustą listę select o id: podkategorie i ją dołączamy do formularza select = '<select id="podkategorie"></select>'; $('#formularz fieldset').append(select); var lista = $('#podkategorie'); //ukrywamy listę. Potrzebne to będzie do uzyskania animacji pojawienia się elementu na stronie lista.hide(); //generowanie kolejnych opcji listy var option = $('<option/>'); .html(val) .appendTo(lista); }); //animacja pojawienia się elementu na stronie lista.show('scale', 500); }, 'json' ); }) })
i formularz:
Nie patrzcie na nazwy plików że tu jest inna itp. bo to akurat mam ok ale u siebie. Problem raczej leży przy pętli while.
Pozdrawiam.