Moikka,
Avaampa uudelleen kysymyksen tietokantatiedon pollauksesta PHP:llä ja Jqueryllä. Tietokantana MySQL.
En ole vieläkään päässyt oikein jyvälle tuosta JQuerystä ja sen sielunelämästä.
tarpeena olisi:
1 ladata sivun aukaisussa tietokannasta rivitietoa (aihe, lyhytkuvaus), 20 viimeisintä riviä.
2 10 sekunnin kuluttua pitäisi jqueryllä katsoa, onko uutta tietoa kannassa. Jos löytyy niin lisätään listan perään uusimmat niin, että ei ladatakaan koko sivua uudelleen.
Pystyiskös joku oikein koodin kansssa opastamaan tässä.
Tietenkin sen verran fiksu versio, että ei saada kaikkea jumiin kerralla.
Käyttäjäkunta tulee olemaan suht pieni kuitenkin sovelluksessa.
Ja jos jotain jäisi käteen, niin voin oppiakin tästä jotain :D
Kiitos!
$.ajax({ type: "POST", url: "some.php", data: { name: "John", location: "Boston" } }).done(function( msg ) { alert( "Data Saved: " + msg ); });
msg = kaikki mitä some.php tulostaa
Esimerkissä annetaan php-skriptalle POST-parametrit name ja location
Ja kun tarpeena oli hakea jotain niin
$.get('/messages/', { time: lastTimeStamp }, function (messages) { $(messages).each(function (i, message) { $('#myList').append($('<li>' + message + '</li>')); }); }); );
Kannattaa suosia noita $.get ja $.post shorthandeja $.ajaxin sijaan.
Esimerkissä /messages/ osottaa johonki kivaan tiedostoon, vaikka se messages.php, joka puuppaa JSONina a) limit- ja sort-parametrien kanssa tietyn joukon sortattuna uusin ensin (limit=20&sort=DESC, näin saat ne 20 uusinta), ja b) time-parametrin kanssa ko. timestampin jälkeen tulleet rivit.
<?php // karkeasti yksinkertaistettuna // Putkan PHP- ja MySQL- & PDO-oppaat auttavat tietokannan kanssa puljaamisessa // GETillä haetaan... if ($requestType === 'GET') { $messages = getMessages($limit, $sort, $timestamp); echo json_encode(messages); } // ja POSTilla voidaan sitten päivittää else if ($requestType === 'POST') { saveMessage($message); } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.