Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [JavaScript][PHP]Powtarzanie kodu
ilidir
post
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


Witam szukam rozwiązania które umożliwi mi uruchomienie kodu PHP jak i HTML co na przykład 1 sekundę. Nie mówie tutaj o CRONIE.
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


setInterval() + ajax
Go to the top of the page
+Quote Post
ilidir
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


liczyłem na pomoc w formie przyklacdu biggrin.gif
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://lmgtfy.com/?q=setinterval+ajax


--------------------
Go to the top of the page
+Quote Post
ilidir
post
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


  1. <?php $query = "SELECT * FROM czat ORDER BY id_czat DESC LIMIT 10;";
  2.  
  3. $result = @mysql_query($query) or die('<p class="blad">Wystąpił błąd podczas pobierania wpisów z bazy.</p>'); ?>
  4. <ul>
  5. <?php
  6. while ($row = mysql_fetch_array($result)) {
  7. $enazwa = stripslashes($row['user_name']);
  8. $etresc = stripslashes($row['tresc']);
  9. //zawijanie tekstu co 20 znaków
  10. $nowytekst = wordwrap($etresc, 20, "\n", true);
  11.  
  12. echo ('
  13. <li>
  14. <div class="meta">
  15. <p>'.$enazwa.'</p>
  16. </div>
  17. <div class="wpis">
  18. <p>'.$nowytekst.'</p>
  19. </div>
  20. </li>');
  21. }
  22. ?></ul>



chciałbym aby ten kodwykonywał się co jakiś czas. Przesłaliści mi mase tutoriali ale nie wiem od czego zacząć. Wiem że w samej Javascript nie wolnowykonywać połączeń i zapytańdo bazy danychbojest to zbrodnia. Zatem należy to zapytanie wykonać w php a nastepnie przesłać je do Javascript. Jak rozumiem wyświetlanie wynikówrównież musiałbym przenieść do javascript.
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


JS może komunikować się z PHP za pomocą ajaxa.
http://api.jquery.com/jquery.ajax/
Go to the top of the page
+Quote Post
ilidir
post
Post #7





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


witam

znalazłem taki kod:

var interval = setInterval(function() {
var zmienna1 = $('.jakis_input_1').val(); //wartosc zmienna1 = 1
var zmienna2 = $('.jakis_input_2').val(); //wartosc zmienna2 = 2
$.ajax({
type: "POST",
url: "test.php",
dataType : 'json',
data: {
dana1 : zmienna1,
dana2 : zmienna2,
},
success : function(json) {
alert( json['enazwa'] + "\n" + json['etresc']);
}
});
},1000);


Teraz jak rozumiem powinienem utworzyc plik test.php iw nim zawrzec kod php obsługujący połaczenia do bazy danych i zwrócenie wartosci enazwa i etresc. Jednoczesnie moge wykorzystac zmienne dana: 1 oraz dana: 2 do przesłania danych do skryptu. Ale o ile dobrze rozumiem moge tylko odbierac dane prawda questionmark.gifquestionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W kodzie co pokazales wysylasz i odbierasz dane.
Jesli nie rozumiesz tych paru linijek, to zajrzyj wkoncu do dokumetacji AJAX w jQuery, a bedziesz wiedzial co kazda linijka robi a nie zgadujesz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ilidir
post
Post #9





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


ale ja rozumiem co oznaczaja te linijki mam tylko problem z rozwiazaniem swojego problemu jezeli bym go nie mial to bym tu nie pisał
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Napisales
Cytat
Ale o ile dobrze rozumiem moge tylko odbierac dane prawda
wiec ci wyjasnilem, ze mozesz zarowno wyslac i odebrac. Skoro tego nie wiedziales to poraz kolejny piszę: zapoznaj sie z tymi paroma linijkami.
Jesli zas to wiedziales to nie rozumiem skad pytanie, ze mozesz tylko dane odebrac.... Moze chodzilo ci o cos innego?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ilidir
post
Post #11





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


data: {
dana1 : zmienna1,
dana2 : zmienna2,
},

wysyłam dane

alert( json['enazwa'] + "\n" + json['etresc']); - odbieram dane


Nospor ja po prostu nie wiem w jaki sposób wykorzystać ten kod do tego co chce osiągnąć hyh
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No dobrze. Ja sie tylko ustosunkowalem do tego pytania
"Ale o ile dobrze rozumiem moge tylko odbierac dane prawda"
I juz. Ciesze sie, ze juz to zostalo wyjasnione smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ilidir
post
Post #13





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


a mam jeszcze jedno pytanie czy musze coś jeszcze dodać do pliku php zeby uruchomić powyższyskrypt questionmark.gifquestionmark.gif



siema poczyniłem pewne postępy i teraz tak mam 2 pliki

pierwszy to plik czat_ajax.php w includowanym pliku config mamy polaczenie z baza danych
  1. header('Content-type: application/json');
  2. include 'config.php';
  3. db_connect();
  4. check_login();
  5. $user_czat = get_user_data();
  6. $nazwa = $user_czat['user_name'];
  7.  
  8. $query = "SELECT * FROM czat ORDER BY id_czat DESC LIMIT 10;";
  9.  
  10. $result = @mysql_query($query) or die('<p class="blad">Wystąpił błąd podczas pobierania wpisów z bazy.</p>');
  11.  
  12. while ($row = mysql_fetch_array($result)) {
  13. $enazwa = stripslashes($row['user_name']);
  14. $etresc = stripslashes($row['tresc']);
  15. //zawijanie tekstu co 20 znaków
  16. $nowytekst = wordwrap($etresc, 20, "\n", true);
  17. $tablica = array();
  18. $tablica['wynik_1'] = $enazwa;
  19. $tablica['wynik_2'] = $nowytekst;
  20. echo json_encode($tablica);
  21. }
  22.  
  23. db_close();


i teraz mam drugi plik czat.php w ktorym znajduje sie script
Kod
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js" ></script>
            <script type="text/javascript">
                function ajaxFunction()
                {
                    var xmlhttp;
                    if (window.XMLHttpRequest)
                    {
                    // code for IE7+, Firefox, Chrome, Opera, Safari
                        xmlhttp=new XMLHttpRequest();
                    }
                    else if (window.ActiveXObject)
                    {
                    // code for IE6, IE5
                        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    else
                    {
                        alert("Your browser does not support XMLHTTP!");
                    }
                }
            </script>
function czatuj() {
    alert("test");
        var interval = setInterval(function() {
            var zmienna1 = $('.jakis_input_1').val(); //wartosc zmienna1 = 1
            var zmienna2 = $('.jakis_input_2').val(); //wartosc zmienna2 = 2
            $.ajax({
                type: "POST",
                url: "czat_ajax.php",
                dataType : 'json',
                data: {
                    dana1 : zmienna1,
                    dana2 : zmienna2,
                },
                success : function(json) {
                    alert( json['wynik_1'] + "\n" + json['wynik2']);
                },
                error:    function(error) {
        alert("Jest jakis klopot");
    }
            });
        },100)};


wywołanie mam w czat.php poprzez wykorzystanie
  1. echo '<script type="text/javascript">czatuj();</script>';




jezeli uruchomie w przeglaradce plik czat_ajax.php to wyświetlają mi się zawartości bazy danych.
jeżeli uruchomie plik czat.php to wyswietla mi sie alert test a nastepnie pojawia misie alert Jest jakis klopot

nie wiem co robie zle sad.gif Prosze o pomoc
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Firefox -> Firebug -> konsola -> i tam sobie zobacz co zwraca ci dokladnie AJAX to bedziesz wiedzial co nie tak.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ilidir
post
Post #15





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


nospor jestes genialny biggrin.gif dzieki nie wiedziałe mnawet ze firebug daje takie mozliwosci

Wiec teraz widze ze ajax mi to dobrze ogarnia tylko dlaczego on mi to wypisuje w kupie o takie coś:

{"wynik_1":"Admin","wynik_2":"gdgdgdfgdfg"}{"wynik_1":"Admin","wynik_2":"sadbjhsabjhbashdb"}{"wynik_1":"Admin","wynik_2":"kdkjadkajdbkd"}{"wynik_1":"Admin","wynik_2":"jdshjkskjsnjnjkfnfjk\nfndsjknjfknsdjkfnjks\ndnjkfnkjsdnsdkjfnsdj\nkdsnfjksdnfsdjkfndsj\nfkdsnfjdsnfjsdfnsdkj\nfndfjkdsnfkjfnkjndsj\nkfnsdkjfnj11111"}{"wynik_1":"Admin","wynik_2":"hgjhgjhgjhgjhghjbjhb\nhjbhjbjhbhjbhjhhbhhb\njhbjhbhjbhbjhbjhbjbh\njb"}{"wynik_1":"Admin","wynik_2":"test smile.gif"}{"wynik_1":"Admin","wynik_2":"klhakjndjkawdn"}{"wynik_1":"Admin","wynik_2":"asdadad"}{"wynik_1":"Admin","wynik_2":"asdadad"}

czy to jest wynikiem uzytej tabeli questionmark.gifquestionmark.gif chodzi mi o to aby każdy zbiór był wysyłany pod odczytaniu z bazy danych i odrazu wyswietlany przy pomocy alertu
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dales w petli:
echo json_encode($tablica);
ty to masz wszystko zaladowac do jednej tablicy i dopiero po petli calosc masz przepuscicc przez json_encode. Masz miec jeden obiekt JSON, a teraz generujesz tych obiektow tyle, ile masz rekordow. Nic dziwnego, ze AJAX wariuje smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ilidir
post
Post #17





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


nooo i terz jest tak jak chce biggrin.gif dzieki nospor jak zawsze na ciebie mozna liczyć smile.gif

a mam takie pytanie wiem że idzie to zrobić ale nie wiemdo końca jak to ugryść.

użytkownik wchodzi na strone i coś tam sobierobi nastepnie naciska przycisk w tym momencie zaczyna się odliczanie na przyklad 10 minut po upływie tego czasu wykonuje sie skrypt php ale chcialbym aby ten skrypt wykonal się nawet jesli uzytkownik zamknie przygladarke.

Jakies pomysly questionmark.gifquestionmark.gif smile.gif

Ten post edytował ilidir 21.11.2014, 18:29:31
Go to the top of the page
+Quote Post
viking
post
Post #18





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Możesz zapisać godzinę i zdarzenie a później w cronie je wykonać.


--------------------
Go to the top of the page
+Quote Post
ilidir
post
Post #19





Grupa: Zarejestrowani
Postów: 183
Pomógł: 14
Dołączył: 27.09.2014

Ostrzeżenie: (0%)
-----


to generalnie cron musialby wywolywac jakas funkcje co 1 sekunde a to nie jest mozliwe smile.gif Jakies inne pomysly questionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
untorched
post
Post #20





Grupa: Zarejestrowani
Postów: 318
Pomógł: 76
Dołączył: 27.12.2011
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


To generalnie się zdecyduj czy mówisz o wykonywaniu co sekunde czy co 10 minut...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:00