premesso che uso jquery come framework JS vista la mia scarsa, lo ammetto, conoscenza di JS.. ti posto una comune funzione ajax asincrono in JS, che personalmente uso per aggiornare la mia homepage ogni x secondi in modo da mantenere costanti gli aggiornamenti...
nella mia homepage c'è una textarea con attributo name="text_area", di cui 'salvo' il valore ogni volta che avviene l'aggiornamento e lo reimposto durante il ricaricamento asincrono, puoi fare la stessa cosa anche utilizzando il metodo POST con poche modifiche al codice...
in caso di successo ricarico i risultato che mi restituisce l'url al posto del codice HTML contenuto nel div con id "homepage",
in caso di successo scrivo al posto del codice HTML contenuto nel div con id "homepage" 'Errore durante il caricamento...',
una volta completato l'aggiornamento, setto un timeout di 60 secondi, dopo del quale richiamo la funzione ajax che mi aggiorna l'homepage..
funzione JS dopo aver richiamato la libreria JQuery:
codice:
function homepage(){
$.ajax({
async: true,
cache: false,
timeout: 60000,
url: 'index.php?op=utility&do=homepage&t='+$("[name=text_area]").val(),
success: function(data) {
$('#homepage').html(data);
},
error: function(data) {
$('#homepage').html('Errore durante il caricamento...');
},
complete: function() {
setTimeout('homepage()', 60000);
}
});
}
funzione php nel file index.php:
Codice PHP:
if($_GET['op'] == "utility" && $_GET['do'] == "homepage"){
mysql_query("SELECT id, notizia, autore, data FROM homepage_aggiornamenti ORDER BY data DESC");
...//resto del codice per estrarre dati da mysql
$home = <<<FLE
<table class="tabnews" cellspacing="2" cellpadding="2" width="100%">
<tr>
<td align="center">
<textarea name="text_area">{$_GET['t']}</textarea>
<input onclick="javascript:homepage_insert();" type="button" value="Inserisci" name="submit"/>
</td>
</tr>
</table>
FLE;
print $home;
exit;
}