Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MSSQL][PHP] Wyświetlanie statusu danych w bazie
adi456
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

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


Witam

Nie znam się na js i ciężko mi ruszyć cokolwiek w tym temacie, mam taki kod

  1. if($punktid==18 or $punktid==17 or $punktid==16 or $punktid==13 or $punktid==7 or $punktid==14 or $punktid==4 or $punktid==6 or $punktid==10 or $punktid==3 or $punktid==2){
  2.  
  3. if(empty($_SESSION["utarg_pcmarket"])) {
  4. if(empty($date)){
  5. $date_pcmarket_od="$data 18:50:00";
  6. $date_pcmarket_do="$data 21:30:00";
  7. } else {
  8. $date_pcmarket_od="$date 18:50:00";
  9. $date_pcmarket_do="$date 21:30:00";
  10. };
  11. $server = 'xxx';
  12. $user="xxx";
  13. $pass="xxx";
  14. $db="mdm_baza";
  15. $link = mssql_connect($server, $user, $pass);
  16.  
  17.  
  18. if ($punktid==18) $id_pcmarkt=26;
  19. elseif ($punktid==17) $id_pcmarkt=1;
  20. elseif ($punktid==16) $id_pcmarkt=20;
  21. elseif ($punktid==13) $id_pcmarkt=17;
  22. elseif ($punktid==7) $id_pcmarkt=3;
  23. elseif ($punktid==14) $id_pcmarkt=10;
  24. elseif ($punktid==4) $id_pcmarkt=16;
  25. elseif ($punktid==6) $id_pcmarkt=11;
  26. elseif ($punktid==10) $id_pcmarkt=15;
  27. elseif ($punktid==3) $id_pcmarkt=13;
  28. elseif ($punktid==2) $id_pcmarkt=8;
  29. else $id_pcmarkt=false;
  30.  
  31. mssql_select_db('mdm_baza', $link);
  32. $row_pc = mssql_fetch_array(mssql_query("SELECT * FROM dbo.Dok WHERE TypDok='52' AND MagId='$id_pcmarkt' AND Data='$date' AND Zmiana BETWEEN '$date_pcmarket_od' AND '$date_pcmarket_do' "));
  33. $razem_pcmarket=' - '.$row_pc['Razem'];
  34. if($row_pc['Razem']>10){
  35. $_SESSION["utarg_pcmarket"]='ok';
  36. $status_pcmarket='<div style="font-size: 20px; color:green; ">Aktualizacja kasy zakończona.</div>';
  37. } else {
  38. $status_pcmarket='<div style="font-size: 30px;">Brak danych z kasy za dzisiejszy dzień! Zaczekaj na aktualizacje!</div>';
  39. };
  40.  
  41. } else {
  42. $status_pcmarket='<div style="font-size: 20px; color:green; ">Aktualizacja kasy zakończona.</div>';
  43. };
  44. };


i potem wyświetlam zmienną $status_pcmarket, problem w tym że jeżeli status zmienia się to żeby zobaczyć zmiane trzeba odświeżyć strone, więc pomyślałem o js miało by to wyglądać tak że skrypt wykonuje się co 30s i najlepiej było by przerwanie sprawdzania statusu gdy zostanie spełniony ten warunek if($row_pc['Razem']>10) ale to nie jest niezbędne
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
zaworek
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


Do odświeżania strony możesz wykorzystać meta refresh
Go to the top of the page
+Quote Post
adi456
post
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

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


Myślałem o tym, ale nie chce to działać, biorąc pod uwage że gdy jest wyświetlany ten status są przesłane zmienne POST, pozatym nie chce żeby odświerzał sie cały ogromny skrypt tylko jego wyżej wymieniony kawałek
Go to the top of the page
+Quote Post
bostaf
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


To długi temat. Poczytaj o technologii AJAX:

Jak już będziesz wiedział o co biega to możesz skorzystać z gotowych rozwiązań, które w prosty sposób pozwolą zaimplementować AJAX na Twojej stronie. Bardzo popularna jest na przykład biblioteka jQuery, która oferuje bardzo przyjemną obsługę AJAXu.
Go to the top of the page
+Quote Post
adi456
post
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

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


znalazłem taki kod

  1. <script language=javascript>
  2.  
  3. var object = false;
  4. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  5. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  6. function getData(dataSource, divID)
  7. {
  8. if (object.readyState==4 || object.readyState==0)
  9. {
  10. var obj = document.getElementById(divID);
  11. object.open("GET", dataSource);
  12.  
  13. object.onreadystatechange = function()
  14. {
  15. if (object.readyState == 4 && object.status == 200)
  16. obj.innerHTML= object.responseText;
  17. }
  18. object.send(null);
  19. }
  20. }
  21. function odswiezaj()
  22. {
  23. getData('status.php','status_pcmarket');
  24. setTimeout("odswiezaj()", 30000);
  25. }
  26. </script>


tylko jak zamiast status.php wstawić bezpośrednio kod php, po to żeby widział zmienne wczesniej występujące?


np chodzi mi o to żeby to zadziałało:
  1. <? $test='działa'; ?>
  2.  
  3. <script language=javascript>
  4.  
  5. var object = false;
  6. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  7. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  8. function getData(dataSource, divID)
  9. {
  10. if (object.readyState==4 || object.readyState==0)
  11. {
  12. var obj = document.getElementById(divID);
  13. object.open("GET", dataSource);
  14.  
  15. object.onreadystatechange = function()
  16. {
  17. if (object.readyState == 4 && object.status == 200)
  18. obj.innerHTML= object.responseText;
  19. }
  20. object.send(null);
  21. }
  22. }
  23. function odswiezaj()
  24. {
  25. getData('status.php','status_pcmarket');
  26. setTimeout("odswiezaj()", 30000);
  27. }
  28.  
  29. <div id="status_pcmarket"></div>
  30.  


a w pliku status.php tresc
  1. <?
  2. if ($test=='działa') echo 'to naprawde działa';
  3. ?>


(IMG:style_emoticons/default/questionmark.gif)

Ten post edytował adi456 16.05.2012, 12:12:19
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 04:50