Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.05.2014 Ostrzeżenie: (0%)
|
Witam,
Mam plik PHP, który wysyła zmienne do pliku HTML. Te zmienne, np. $sHash, $iId, $Alt, $sFileLink itd. służą do dynamicznego generowania galerii obrazów i w pliku HTML przyjmują postać __hash__, __alt__, __fileLink__ itd. Czyli mamy np. <a href="__fileLink__"><img src="__imgUrl__" alt="__alt__" width="100%" height="100%"></a> I teraz pytanie: Czy możliwe jest przesłanie jednej z tych zmiennych do funkcji JavaScript za pomocą onclick? Jeśli tak, to jak powinno to wyglądać? onclick="myCall('__ZMIENNA__');" ? Próbowałem, ale w tym przypadku do funkcji dociera nie zmienna, ale jej ostatnia wartość (np. alt albo hash ostatniego wyświetlonego na stronie zdjęcia). A po stronie JS? <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script> function myCall( (IMG:style_emoticons/default/questionmark.gif) ? ) { var request = $.ajax({ url: "URL DO INNEGO PLIKU PHP", type: "POST", dataType: "html" }); request.done(function(msg) { $("#mybox").html(msg); }); request.fail(function(jqXHR, textStatus) { alert( "Request failed: " + textStatus ); }); } </script> Z góry dziękuję za wskazówki! EDIT: Dodam jeszcze może dla wyjaśnienia, co chcę osiągnąć: Wyświetla się galeria zdjęć, użytkownik klika na link pod jednym ze zdjęć, co powoduje zmianę liczby wyświetleń danego zdjęcia o 1. Na zasadzie: "Views: 13". Click. "Views:14". Tak więc to kliknięcie powinno uruchomić skrypt i zwrócić zmienną (w tym przypadku hash zdjęcia), którą ajax wyśle dalej do pliku PHP, który z kolei uaktualni tabelę Photos w tym wierszu, w którym znajduje się konkretny hash. Wszystko to już zrobiłem, jedyne co nie działa to właśnie przesłanie odpowiedniej zmiennej, bo do tej pory czego bym nie próbował, +1 view dostaje zawsze ostatnie zdjęcie na stronie... Ten post edytował Singularity 20.05.2014, 18:55:51 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.05.2014 Ostrzeżenie: (0%)
|
Kombinowałem (IMG:style_emoticons/default/smile.gif) Dzięki!
Ale teraz jest nowy problem - wyskakuje mi kilka alertów 'undefined' a ilość wyświetleń zdjęcia zmienia się o losową(?) liczbę - 5,6, czasem kilkanaście! Może wkleję całe pliki. Najpierw PHP (w tym przypadku tylko funkcja, bo cały plik jest ogromny), który wysyła zmienne do html:
Teraz HTML + skrypt:
viewscounter.php i update bazy danych:
Jestem zupełnie nowy w tym, ale może chodzi o to, że w tym przypadku kliknięcie na pojedyncze zdjęcie tak naprawdę uruchamia skrypt dla każdego zdjęcia w galerii, wykonuje go tylko dla klikniętego, a resztę zwraca jako undefined? No i dlaczego pojedyncze kliknięcie powoduje kilka odwołań do bazy danych? EDIT: Już wiem. Wszystko zależy od kolejności zdjęcia. Dla ostatniego na stronie ilość odwiedzin rośnie o 0, dla przedostatniego o 1, trzeciego od końca o 2 itd. Jak zrobić, żeby niezależnie od kolejności wzrastała o 1 ? Ten post edytował Singularity 20.05.2014, 22:52:54 |
|
|
|
Singularity [HTML][JavaScript][PHP]Z PHP przez HTML do JS i z powrotem ;) 20.05.2014, 18:41:35
IProSoft http://jsfiddle.net/YHFnL/ 20.05.2014, 18:56:22
Singularity Ok, to już jakiś krok do przodu, ale ja nie chcę p... 20.05.2014, 20:20:49
IProSoft Pokazałem Ci tylko wzór, wystarczy zmienić attr(... 20.05.2014, 20:45:59 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 20:39 |