![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 4 Dołączył: 27.07.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mam taka sprawę w zedzie tak samo będzie się ładowało dane jak w przypadku php z pliku zewnętrznego? mianowicie chcę zrobić slider przewijanego div`a z zawartością z bazy wybierane losowo. Przy php wszystko umieszczało się w osobnym pliku który był odpowiedzialny za zapytanie do bazy a następnie przy pomocy jQuery osadzane dane były w div`ie. a jak to teraz zrobić ? też na zewnętrznym pliku ? jeśli tak to jak wtedy z obsługą bazy ? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Nie.
Zobacz, tutaj opisałem o context switch-u http://forum.php.pl/index.php?s=&showt...st&p=901258 Dla Ciebie tą różnicą będzie, że musisz utworzyć ajax context typu html, np.:
Następnie Tworzysz w widokach nowy plik getimg.ajax.phtml (dopisek .ajax w nazwie pliku, wskazuje na plik który będzie wykorzystywany dla akcji getimg gdy będzie wczytywana przez ajaxa). Teraz w akcji sobie obsługujesz normalnie i jak się połączysz przez ajaxa z akcją getimg, to szablon który będzie wyświetlony, to będzie getimg.ajax.phtml (dla zwykłej akcji wyświetli się getimg.phtml). Dodatkowo, przy włączonym ajax contexcie dla danej akcji, przy ajaxowym requescie zf sam wyłącza layout, dzięki temu dostajemy tylko to co zawarte jest w pliku getimg.ajax.phtml. edit: Chociaż sie zastanawiam czy Tobie na pewno o przesyłanie ajaxem chodzi, bo czytając kilkukrotnie Twoją wypowiedź w końcu dochodzi się do wniosku że nie wiadomo o co chodzi. Ten post edytował k_@_m_i_l 4.10.2011, 07:43:41 -------------------- "PHP to człowiek. MySQL to również człowiek."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 4 Dołączył: 27.07.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W taki razie piszę już jaśniej
Kod <script type="text/javascript"> function randomMain(){ var obj = jQuery(".randomMain:first"); var marginLeft = parseInt( jQuery(obj).css('marginLeft')); jQuery(obj).css("marginLeft", ( marginLeft - 2 ) + "px" ); if( marginLeft < -380 ){ jQuery.get("main_ajax.php", '', function(data){ obj.remove(); jQuery(".randomMain:last").after( data ); jQuery(".randomMain:last").hide(); jQuery('.randomMain:last').fadeIn(500); setTimeout("randomMain()", 2000 ); }); }else{ setTimeout("randomMain()", 25 ); } } jQuery(document).ready( function (){ randomMain( ); }); </script> prosty skrypt napisany z wykorzystaniem jQuery myślę, że nie trzeba tego objaśniać. Jak widać na załączonym obrazku skrypt pobiera dane z pliku zewnętrznego "main_ajax.php" w którym to losowane są rekordy z bazy i przesuwane, i chciał bym osiągnąć podobny efekt tylko, że z zendem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
W zalezności od potrzeby (konkretny skrypt, funkcjonalność itp itd) php ma zwrócić konkretne dane (np json). jQuery woła podany adres URL i nie ma dla niego znaczenia, czy podany został url bezpośrednio do pliku, czy też jakieś inne URI.
Więc odpowiedź na Twoje pierwsze pytanie brzmi: tak, będzie to działac identycznie, ino właściwy adres podaj i właściwie po stronie php'a to obsłuż ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 11:38 |