Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Automatyczne pobieranie danych w tle
kkuubbaa88
post 5.06.2009, 20:58:54
Post #1





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


witam

bardzo proszę o pomoc w moim problemie, poniewaz czas mnie strasznie goni. nie moge znalezc w jaki sposob zrobic, aby dane byly ciagle pobieranie w tle i wyswietlane za pomoca ajaxa. mam kod w ktorym wysylane sa dane POST do pliku php a on juz dodaje do bazy. problem w tym, ze nie wiem jak zrobic, aby dane byly caly czas na bierzaco wyswietlane u gory... cos ala okienko gg... na dole sie dodaje, a u góry powinno sie wyswietlac...

dziekuje i pozdrawiam

obecnie mam taki kod AJAX:

Kod
   <script language="javascript">
   var XMLHttpRequestObject = false;
   if (window.XMLHttpRequest) {
   XMLHttpRequestObject = new XMLHttpRequest();
   } else if (window.ActiveXObject){
   XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
   }
   function getData(dataSource, divID, data)
   {
   if(XMLHttpRequestObject){
   var obj = document.getElementById(divID);
   XMLHttpRequestObject.open("POST", dataSource);
   XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   XMLHttpRequestObject.onreadystatechange = function()
   {
   if (XMLHttpRequestObject.readyState == 4 &&
   XMLHttpRequestObject.status == 200) {
   obj.innerHTML = XMLHttpRequestObject.responseText;
   }
   }
   XMLHttpRequestObject.send("data=" + data);
   }
   }
   </script>
  
  
   <form>
   <input type="button" value="Pobierz wiadomość 1" onclick="getData('data.php', 'targetDiv', 1)">
   <input type="button" value="Pobierz wiadomość 2" onclick="getData('data.php', 'targetDiv', 2)">
   </form>
   <Div id="targetDiv">
   <p>Pobrana wiadomość pokaże się tutaj.</p>
   </div>



plik data.php

Kod
   <?
   if ($_POST["data"] == "1"){
   $dbhost = 'localhost';
   $dbuser = 'root';
   $dbpass = '';
   $dbname = 'bazabaza';
  
   $dbc = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie moge połaczyc sie z Mysql');
   mysql_select_db ($dbname) or die ('Nie moge wybrać bazy');
  
   mysql_query("SET NAMES utf8");
   $wynik = mysql_query("select id from baza where nazwa='cos'");
   $zmienne = mysql_fetch_array($wynik, MYSQL_ASSOC);
   echo $zmienne['id'];
   }
   if ($_POST["data"] == "2"){
   echo "wartość 2";
   }
   ?>


Ten post edytował kkuubbaa88 5.06.2009, 21:24:03
Go to the top of the page
+Quote Post
singles
post 6.06.2009, 12:25:41
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


W PHPie zrób sobie plik np. zwrocDane.php. W jaki sposób zwracać? To zależy, co chcesz zwrócić - jeśli tylko jakiś napis czy liczbę to zwykłe echo wystarczy. Jeśli bardziej skomplikowane dane, to polecam JSON. Poczytaj w manualu PHP i w sieci.

W JS piszesz sobie funkcję refreshData(). Wewnątrz niej masz żądanie AJAXa (podobnie jak w kodzie który wkleiłeś) do pliku zwrocDane.php. Z tymi danymi możesz sobie potem zrobić co chcesz - wstawić do jakiegoś pola, wyrzucić alertem, jak Ci wygodnie. Aby pobieranie danych odbywało się co określony czas, to skorzystaj w JS z setInterval.

PS. Polecam zastosowanie jakiejś zewnętrznej biblioteki do obsługi AJAXa - np advAJAX.

Ten post edytował singles 6.06.2009, 12:26:08


--------------------
Works for me => u mnie działa - blog o (o)programowaniu i nie tylko
meet.php - darmowe meetupy związane z PHP
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:39