Ciao,
vado subito al punto.
Ho una pagina con le opzioni di inserimento e visualizzazione di prodotti, php che interagisce con mysql.
Lo script php di inserimento sta in una pagina a parte (insert.php) richiamato da questa pagina principale (home.php). Invece lo script php per la visualizzazione sta dentro questa pagina (home.php) e si carica al caricamento della stessa. Lo script php di inserimento viene richiamato in background, quindi nessun pulsante di tipo submit, e di conseguenza nessun aggiornamento di pagina. Quindi il problema è che dopo aver inserito un prodotto, vado su visualizza, e l'ultimo prodotto inserito non lo carica perchè lo script si carica solo all'inizio della pagina. Esempio:
home.php
...
...
Visualizza
<?php
...
?>
...
Inserisci onclick=insert() ->si ricollega ad insert.php
...
Ho provato a mettere anche il codice per la visualizzazione in un file a parte, ma non sono riuscito. Sono appena entrato nel mondo ajax, e probabilemente non ho ancora capito come funziona bene.
Qualcuno può aiutarmi a risolvere il problema?
Forse serve solo qualche modifica alle stesse funzioni usate per l'inserimento. Posto il codice.
var myRequest = null;
function CreateXmlHttpReq(handler){
var xmlhttp = null;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = handler;
return xmlhttp;
}
function myHandler(){
if(myRequest.readyState == 4 && myRequest.status == 200){
var e = document.getElementById("inserito")
e.innerHTML = myRequest.responseText;
}
}
function insert(){
document.getElementById("add_new").style.display = "none"
var collezione = document.addnew.collezione.value
var img = document.addnew.img.value
var nome = document.addnew.nome.value
var articolo = document.addnew.articolo.value
var descrizione = document.addnew.descrizione.value
myRequest = CreateXmlHttpReq(myHandler);
myRequest.open("GET","insert.php?collezione="+esca pe(collezione)+"&img="+escape(img)+"&nome="+escape (nome)+"&articolo="+escape(articolo)+"&descrizione ="+escape(descrizione));
myRequest.send(null);
}
grazie, ciao!