Lettura/Scrittura Database con AJAX

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
Buon giorno a tutti,
ho appena cominciato ad usare AJAX per un progetto universitario, e sono bloccato in una cavolata. Probabilmente perchè non ho ancora capito bene il funzionamento di AJAX.

Praticamente devo creare una pagina che legge/scrive su un database, senza aggiornare ogni volta la pagina.

Il contenuto è composta da:

ID PRODOTTO
DISPONIBILITA'
QUANTITA

pulsante ORDINA

I primi 3 campi sono recuperati dal database. Ogni volta che schiaccio il pulsante ORDINA, devo aumentare di 10 e aggiornare con il nuovo valore sullo schermo il campo QUANTITA', il tutto senza che la pagina si ricarichi.

Qualcuno riesce a darmi una mano?
Avrei bisogno proprio del codice più o meno esatto. Ho cercato in internet spiegazioni ma (sarò incapace io probabilmente) non mi funzionano.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, dovresti postare un po di codice, poi al massimo te lo correggiamo
prendi spunto da questa discussione per non usare Jquery altrimenti su questo forum dovrebbero esserci degli esempi di chiamate ajax anche in Jquery.
Non hai precisato quale linguaggio di programmazione utilizzi
 

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
Sto usando Html php e javascript , il tutto hostato su altervista

Questo e' il codice della parte descritta sopra. Il collegamento al database lo ho inserito in un altro file php che viene incluso al caricamento della pagina
Codice:
<div id="right_col">

<?php
	echo "	<br/> ID PRODOTTO= ".$riga[0]. 
			"<br/> DISPONIBILITA'= ".$riga[1].
			"<br/><div id=\"q.ta\"> QUANTITA= ".$riga[2].
			"</div><br/>IN ORDINAZIONE=".$riga[3];
			
			
			
?>

<input type="button" value="ORDINA" onClick="script2()"/>	


<script>
function script2(id_prodotto) {
    var e = document.getElementById("q.ta");
	<? 

			$conn = dbConnect();
			$id_prodotto= $_GET['id'];
            $query="UPDATE products SET quantita=quantita+10, in_ordinazione=1 WHERE ID=\"".$id_prodotto."\"";
			mysql_query($query);

			?>
    e.innerHTML = <?php echo $riga[2] ?>;
	<?php 			mysql_close($conn);?>
}

</script>

Facendo così mi esegui la query ogni volta che la pagina viene caricata/aggiornata e non quando schiaccio il pulsante ORDINA.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non puoi fare tutto in una pagina, ti occorrono 2 pagine
Nella prima lòe funzioni javascript per la chiamata ajax e nella seconda il codice php
Guarda l'esempio che ti ho postato sopra
 

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
Allora, ho fatto 2 pagine , entrambe con estenzione ".php", Una contenente il contenuto della pagina e i vari script javascript, l'altra invece contenente la connessione al database e gli eventuali script lato server.
Ho fatto alcune prove banali, come ad esempio riempire i vari campi qui sotto in maiuscolo (id_prodotto, disponibilita, quantita, in_ordinazione) al click del bottone, provando a modificare le varie funzioni che c'erano nell'esempio del link sopra, ma niente, non riesco a capire come far apparire anche una stringa di prova all'interno dei campi.
Come caspita funziona?

Codice:
<div id="content">
		ID PRODOTTO<div id="id_prodotto"></div></br>
		DISPONIBILIT&Aacute;<div id="disponibilita"></div></br>
		QUANTIT&Aacute;<div id="quantita" name="quantita"></div></br>
		IN ORDINAZIONE<div id="in_ordinazione"></div></br>
		
		<input type="submit" name="submit" class="button" id="submit_btn" value="SEND" onclick="selezione()"/>
	</div>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ti mancano le basi dell ' HTML, per questo non credo sia un progetto alla tua portata.
Sicuramente per imparare ci devi provare e riprovare, ma non puoi sbagliare la sintassi del markup
Le due pagine devono avere la seguente struttura
index.html
HTML:
<script type='text/javascript'>  
    
    var xmlHttp = getXmlHttpObject();
    
    function richiesta_ajax_post(){    
              
        xmlHttp.open('POST', "elabora.php", true);    
        xmlHttp.onreadystatechange = function() {
            if(xmlHttp.readyState == 4) { 
                if (xmlHttp.status == 200) {     
                    eval(xmlHttp.responseText);
                }
            }
        };    
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");    
        xmlHttp.send();
    }
        
        
    function getXmlHttpObject() {
        
        var xmlHttp=null;
        if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        }	
        if (window.ActiveXObject) {
            xmlHttp =  new ActiveXObject("Microsoft.XMLHTTP");
        }
	
        return  xmlHttp;
    }

</script>

<div id="content">
    ID PRODOTTO : <span id="id_prodotto"></span><br/>
    DISPONIBILIT&Aacute; : <span id="disponibilita"></span><br/>
    QUANTIT&Aacute; : <span id="quantita"></span><br/>
    IN ORDINAZIONE : <span id="in_ordinazione"></span><br/>

    <input type="submit" name="submit" class="button" id="submit_btn" value="SEND" onclick="richiesta_ajax_post()"/>
</div>
elabora.php
PHP:
<?php

$idProdotto = 4029;
echo "document.getElementById('id_prodotto').innerHTML='" . $idProdotto . "';";

$disponibilita = 2;
echo "document.getElementById('disponibilita').innerHTML='" . $disponibilita . "';";

$quantita = 1;
echo "document.getElementById('quantita').innerHTML='" . $quantita . "';";

$in_ordinazione = 0;
echo "document.getElementById('in_ordinazione').innerHTML='" . $in_ordinazione . "';";
?>
entrambi i file vanno nella stessa cartella. altrimenti devi cabiare il percorso nella chiamata ajax
In questo caso la pagina chiamata non crea codice html ma crea codice javascript che verrà eseguito dalla funzione eval()
 

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
Ti ringrazio per la pazienza. Su che base dici che mi mancano le basi HTML?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
il ritorno a capo non si scrive cosi </br> ma cosi <br/> e non è corretto inserire del testo tra due elementi di blocco <div>testo<div>
Si hai ragione non sono proprio le basi queste, ma , la sintassi dell'html è davvero essenziale
 

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
<br/> è stato un errore di fretta. Per quanto riguarda la parte di codice che ho postato l'ho scritta tanto per vedere come funzionava. Conosco bene la sintassi hmtl. La frustrazione perchè non mi funzionava niente mi ha portato a questo. Haha
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Meglio così.
Hai provato il codice?
 

Pich07

Nuovo Utente
4 Nov 2013
9
0
0
Si si ti ringrazio. Ora ho qualche altro problema ma cerco di sbrigarmelo da solo..Grazie milel intanto
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Accesso Multiutente a file in lettura/scrittura PHP 5
P [RISOLTO]Lettura e scrittura su righe e colonne excel tramite PHP... PHP 3
V scrittura lettura su file PHP 2
Nik Problemi di lettura e scrittura Classic ASP 3
F problema php scrittura e lettura file PHP 2
M java lettura scrittura file con j2me Java 0
F Lettura "input number" dinamico PHP 4
E Errore di lettura php in html PHP 8
E lettura da un Database con Javascript jQuery 2
G lettura stringa alfanumerica MySQL 0
D Lettura output da json su php PHP 4
max1974 Lettura Risultato $.ajax Javascript 1
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
R javascript lettura css cross-browser Javascript 1
M Non corretta lettura del file php.ini della sezione CLI PHP 3
Zio Crick Windows 8.1 accede ai NAS solo in lettura Windows e Software 0
T php Lettura files contenuti in una cartella PHP 1
P [Javascript] Array da file di testo, con lettura temporizzata senza refresh Javascript 3
O [Java] Lettura da JSON File Java 0
A App inventor Lettura file di testo e ceazione listpicker Sviluppo app per Android 0
M Lettura file esterno via ajax jQuery 3
M [PHP] Checkbox: inserimento nel db e lettura dal db PHP 20
J [Javascript] Lettura file di testo (.txt) Javascript 1
M Come rendere solo lettura campo textarea PHP 2
M errore lettura data nel mysql con funzione Where PHP 1
I estensioni del server di Frontpage e lettura database Classic ASP 18
Recover db in sola lettura su area riservata WordPress 1
C PHP lettura db Access PHP 0
Emix Lettura file XML PHP 1
P Problema con lettura filesystem del client da server! Upload multiplo foto. PHP 5
R Lettura codice a barre tramite php e pistola PHP 2
R Lettura file di testo (file in locale) Javascript 0
A lettura file Java 2
G Problema lettura textarea da servlet Java 2
M funzione lettura mysql, variabile di variabile PHP 0
Emix Formattazione output txt dopo lettura contenuti PHP 31
R lettura dati in tempo reale da file di testo PHP 2
P Lettura porta seriale PHP 0
P problema lettura cookie PHP 11
M Lettura file di testo sequenziale ... Javascript 1
I Lettura valori DB Mysql PHP 1
X Php + xml funzioni per lettura file Xml PHP 5
D lettura xml tramite javascript Javascript 0
P Lettura dati se corretti scrivo su file.txt PHP 2
micio86 Lettura file remoti PHP 0
M Problemi lettura radio button da form Javascript 0
D caricamento e lettura file con revisione PHP 4
SolidSnake4 Problemi lettura file csv PHP 5
S Consiglio sito web per lettura di un file di testo che si aggiorna ogni secondo Javascript 9
F Lettura automatica di un file PHP 2

Discussioni simili