![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam dwa pliki cennik5.php i getdata.php. Chcę mieć dwie listy rozwijane zależne od siebie pobierające dane z bazy sql. Pierwsza pięknie pobiera druga nie. Połączenie w configbase i jest połączenie. Podpowiedzcie co robię nie tak.
getata.php
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Metoda execute zwraca prawdę, albo fałsz, czyli w obydwu przypadkach nie pobierasz wyników.
W pierwszym przypadku prepare nie jest potrzebne, wystarczy query+fetch/fetchAll. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem i nadal nic. Spójrzcie.
Wszystkie kolumny w db są. Rekordy w rozwijaku mi się pojawiają, bo zrobiłem print_r i jest to co mi potrzebne. Być może coś z AJAX jest nie tak. Nie wiem już gdzie szukać.
(IMG:http://nastrone.eu/meczyki/Przechwytywanie.PNG) Ten post edytował timeo 10.10.2016, 05:41:29 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie pobierasz rekordów.
Jeśli masz coś w zmiennej $marki, to na pewno nie z powyższego kodu, bo w nim nigdzie nie ustalasz wartości tej zmiennej. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Poniższy kod nic nie daje.
Jest tylko jeden rekord i nie przekazuje dalej zmiennej. Szukam dalej. Może jakaś podpowiedź z czym ten fetch zestawić? TAK?
Ten post edytował timeo 10.10.2016, 07:52:12 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Możesz fetchAll, tak jak pisałem?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak, ale efekt mizerny
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Może dlatego, że nie iterujesz po elementach tablicy? Czyli brak np. foreach.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż co wyświetla wynik: var_dump($key); (po fetchAll).
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na stronie nic nie pokazuje, jest tylko lista z wszystkimi markami.
Mogę podać kod źródłowy strony, jeśli to coś pomoże. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wstaw pierwszy wiersz tablicy, żeby określić czy faktycznie są takie klucze jak piszesz.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo rozumiem. Z bazy danych mam wstawić wiersz?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pierwszy element z tablicy var_dump($key); albo inaczej var_dump($key[0]);
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na stronie nic mi nie pokazuje. Są tylko dwie optionlist z czego jedna ma marki (czyli pokazuje mi wszystkie elementy z tablicy) a druga jest pusta. Wrzuciłem to
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli wychodzi z tego że zapytanie nic nie zwraca.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czy w związku z tym jakoś inaczej pytanie wprowadzić?
Jednak lista marek jest - pytanie dlaczego? Mogę ewentualnie podać adres odnośnika, żeby pokazać Wam gdzie leży błąd. Nie wiem jak regulamin. Ten post edytował timeo 10.10.2016, 11:27:54 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wstaw bo tak można gdybać. I włącz raportowanie błędów.
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Po stronie php masz <b>Notice</b>: Undefined offset: 0 in <b>/home/vol2_1/byethost15.com/b15_3428001/bdp.22web.org/htdocs/mobidoktor/cennik5.php</b> on line <b>24</b><br /> Co jest w tej linii?
Po stronie JS: SyntaxError: illegal character $(#listamodeli).html(data); powinno być $('#listamodeli') |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Już poprawiam - usuwam:
I JS też poprawiam KOD wygląda tak
GETDATA PHP
Ten post edytował timeo 10.10.2016, 11:45:23 |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Masz jeszcze błędy w JS ReferenceError: $ is not defined, opakuj to w
Kod $(function() { }); Zresztą marki ci dzialają. I script nie scritp. Ten post edytował viking 10.10.2016, 12:00:40 |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem, ale nadal nie widzę poprawy. Niestety moja wiedz ogranicza się do prośby o Waszą pomoc.
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zerknij czasami w konsolę. Teraz masz ReferenceError: getId is not defined
Całe script wrzuć do head. |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przerzuciłem i pokazuje mi to samo. Nie wiem czy gdzieś w JS trzeba definiować ten parametr?
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
No nie. getId wywołujesz na zmianę selecta. Pomyśl chwilkę logicznie.
Pod tę funkcję. |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli, że tak?
cennik5.php:28 Uncaught SyntaxError: Invalid or unexpected token Ten post edytował timeo 10.10.2016, 14:14:05 |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
No nie. Wywalasz to całe onchange z selecta i zapominasz o takim pisaniu JS. A kod który podałem wklejasz pod funkcję.
|
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Już się boję pytać, ale spróbuję
Za GETID odpowiedzialna jest funkcja w JS, więc teraz myślę, że myślę dobrze.
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pfff. Tym sposobem byś nigdzie funkcji nie wywołał.
Cytat function getId(val){...}
$('select[name="marka"]').on('change', function(e) { getId(this.value); }); |
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem i konsola pokazuje mi:
(link jest cały czas aktywny jakby co (IMG:style_emoticons/default/smile.gif) )
Ten post edytował timeo 10.10.2016, 14:49:00 |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Gdzieś w getdata masz problem. Zobacz logi serwera i włącz też wyświeltanie błędów.
|
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wrzuciłem do GETDATA i niestety nic nie pokazuje.
Żadnego błędu. Poszukam jak dojadę do domu. |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja tam widzę:
Cytat <b>Fatal error</b>: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':cid' at line 1' A wynika to stąd, że query nie binduje parametrów tylko prepare. Ten post edytował viking 10.10.2016, 15:11:17 |
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
I znów nie pobierasz wyników w getdata.php.
query w pierwszym przypadku, tak jak pisałem, bo nie bindujesz, więc nie trzeba. W drugim zgodnie ze wskazówką viking'a, prepare. |
|
|
![]() ![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Panowie czapki z głów. Dziękuję - jesteście WIELCY. Od dzisiaj to forum jest moim forum.
Nie zrobiłbym niczego bez Waszej pomocy!!! Każdemu piwq A tutaj kod jaki działa.
getdada
Ten post edytował timeo 10.10.2016, 18:31:26 |
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Miałeś się pozbyć onchange="getId(this.value)" z select.
To teraz jeszcze pomyśl co się stanie w przypadku błędu. Nie oprogramowałeś wyjątków PDO, nie robisz nic w przypadku błędu żądania ajaxowego - done/fail. I produkcyjnie informacje debugowe (error_reporting) mają być wyłączone. Brak ci odpowiednich nagłówków. Czemu takie stare jquery? Jest już v3. Ten post edytował viking 10.10.2016, 18:57:37 |
|
|
![]() ![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Już poprawiam.
To będzie zahasłowane i zaszyfrowane logowaniem i nikt nie będzie miał dostępu. Będę to eweluuował, ale trochę później. Na szybko jest mi potrzebne. Nie znam zbytnio JS i Ajaxa muszę się nauczyć. Teraz mam pytanie i prośbę. Działa, ale jest jeden mały problem - modeli jest kilka do jednej marki. Co zrobić żeby one się grupowały? Wyrzuciłem onchange tak jak kazałeś, ale przestaje działać.
P.S. Dopiero do tego usiadłem i już zmieniam. Plik configbase
A teraz dziwne pytanie jakbym chciał zrobić jeszcze 3 listę zależną od drugiej? Da się jakoś z tego co mam? Ten post edytował timeo 10.10.2016, 19:38:37 |
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak samo jak drugą. A co nie działało konkretnie z zapisem moim? Jakieś błędy w konsoli?
|
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod który ci podałem
Cytat $('select[name="marka"]').on('change', function(e) { getId(this.value); }); Jest dokładnie odpowiednikiem tego onchange liniowego. Możesz nowy plik albo dodatkową wartość. Cytat data: {"Marka_ID": val, costam2: y} i w getdata sprawdzac czy występuje $_POST['costam2'] |
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale on jest w script w head a nie w select. Select - jak to usunąłem to nie działał
Cytat Cytat
$('select[name="marka"]').on('change', function(e) { getId(this.value); }); |
|
|
![]()
Post
#45
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niesamowite, czary jakieś
https://jsfiddle.net/vgmnv7ez/ |
|
|
![]()
Post
#46
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Niesamowite, czary jakieś https://jsfiddle.net/vgmnv7ez/ Fakt tutaj tak, a u mnie nie. (IMG:style_emoticons/default/smile.gif) Mozesz sam zobaczyć. Klik |
|
|
![]()
Post
#47
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak z czystej ciekawosci: kiedy ty w koncu zaczniesz zagladac w konsole bledow js? Juz nie raz w tym temacie cie o to upominano a ty dalej swoje.... toz masz bledy tam.
|
|
|
![]() ![]()
Post
#48
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak z czystej ciekawosci: kiedy ty w koncu zaczniesz zagladac w konsole bledow js? Juz nie raz w tym temacie cie o to upominano a ty dalej swoje.... toz masz bledy tam. Jak skończę wszystko co jest potrzebne mi a potem zabiorę się za błędy. Szybko potrzebuję strony, a potem kosmetyka.... i... nauka... |
|
|
![]()
Post
#49
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czyli po prostu wolisz truć dupę na forum bo "nie działa" niż spojrzeć w konsole błedów, która mówi dlaczego nie działa, tak ? :/
Ten post edytował kapslokk 11.10.2016, 14:56:04 |
|
|
![]()
Post
#50
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że ta dyskusja nie ma dalej sensu. Napiszę jak poprawię błędy i podeślę. Obiecuję, że to zrobię... (IMG:style_emoticons/default/smile.gif)
OK, pokazuje, że brakuje linii pomocnej, już szukam w googlu i poprawiam
Podpowiedzcie, czy ten kod jest poprawny
Ten post edytował timeo 12.10.2016, 10:52:28 |
|
|
![]()
Post
#51
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ReferenceError: val is not defined Naprawde my to mamy sprawdzac za ciebie poraz kolejny? NIe, ten kod nie jest poprawny. Mowi ci o tym wyraznie komunikat bledu
data: "Marka_ID="+val, |
|
|
![]() ![]()
Post
#52
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Zrobiłem tak jak mówiliście i niestety nie pojawiają się marki. W konsoli nie widzę żadnych błędów chyba że jest inna konsola niż ta wyświetlana F12.
(Pewnie macie mnie dość (IMG:style_emoticons/default/facepalmxd.gif) )
Ten post edytował timeo 12.10.2016, 12:02:19 |
|
|
![]()
Post
#53
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1.
Wsadz w $(function(){}); Czyli
Bo przy załadowaniu strony jeszcze nie masz selecta, a juz probujesz do niego przypisac event. 2.
Chyba by wypadalo tutaj wstawic id, prawda? |
|
|
![]()
Post
#54
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Miałeś już poprawnie ale strasznie chcesz nas chyba zirytować. Cofnij się do http://forum.php.pl/index.php?s=&showt...t&p=1201912 i zastosuj. DOM nie jest gotowy przed operacją na nim.
Ten post edytował viking 12.10.2016, 12:19:02 |
|
|
![]() ![]()
Post
#55
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem. Działa.
Teraz zabieram się za resztę poprawek. Panowie - przepraszam, uczę się jeszcze a nie zawsze wszystko można umieć jak się w tym zaczyna.
|
|
|
![]()
Post
#56
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a nie zawsze wszystko można umieć jak się w tym zaczyna. Nikt do ciebie nie ma pretensji ze czegos nie umiesz.To co nas drazni to fakt, ze nie czytac co sie do ciebie pisze i nie sprawdzasz konsoli bledow. |
|
|
![]()
Post
#57
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 28.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
A wiecie co oznacza? Pokazywało mi to wcześniej. Czego szukać w JS czy w kodzie PHP?
Panowie to Wy mi pokazaliście konsolę błędów i obiecuję, że będę z niej korzystał. Dziękuję za pomoc. Ten post edytował timeo 12.10.2016, 12:41:36 |
|
|
![]()
Post
#58
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Konsola pokaże ci błędy JS. Jeśli jakieś są (bo np. włączyłeś wyświetlanie błędów jak w tym wyjątku PDO) widzoczne będą w odpowiedzi. Tu ci zresztą brakuje obsługi błędów, jest success tylko.
Uprzedzając pytanie: https://api.jquery.com/deferred.fail/ Ten post edytował viking 12.10.2016, 12:55:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:53 |