Connessione al db utilizzando Php, MySql e Ajax

Forum per tutti i neofiti e gli esperti che vogliono proporre o rispondere ad argomenti che riguardano lo sviluppo di apllicazioni web basate in aprticolare su Html - Css - Php - MySql, ma non solo...

Moderatore: Michele

Connessione al db utilizzando Php, MySql e Ajax

Messaggioda Michele » lun giu 05, 2006 3:21 pm

L' articolo originale lo trovate sul sito di webmasterpoint, che a loro volta lo hanno preso da un tutorial di John Wiseman! :lol:

Vi riporto qui la citazione del testo per connettersi a MySql tramite php e Ajax:

Alla ricerca di esempi utili per migliorare le funzioni "di tutti i giorni", ci siamo imbattuti in un tutorial di John Wiseman inerente la creazione di una connessione a mysql via php/ajax.
Corsi online:

* WebMaster: realizzare un sito da zero
* Reti LAN
* HTML avanzato e CSS
* Audio e Video

Il codice si divide in diverse parti; la prima parte qui sotto esegue un controllo sui browsers istruendo l'XHR in maniera corretta.

<script type="text/javascript" language="Javascript">

function createXMLHttpRequest() {

var ua;

if(window.XMLHttpRequest) {
try {
ua = new XMLHttpRequest();
} catch(e) {
ua = false;
}
} else if(window.ActiveXObject) {
try {
ua = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
ua = false;
}
}
return ua;
}


A questo punto creiamo la request AJAX e decidiamo come vogliamo gestire la response. a funzione sendRequest() qui sotto invierà una richiesta HTTP di tipo GET al server per ottenere l'XML document. La funzione handleResponse() controlla anche lo status della request stessa, inviando la responseuna volta terminata la request stessa.

A questo punto creiamo la request AJAX e decidiamo come vogliamo gestire la response. a funzione sendRequest() qui sotto invierà una richiesta HTTP di tipo GET al server per ottenere l'XML document. La funzione handleResponse() controlla anche lo status della request stessa, inviando la responseuna volta terminata la request stessa.

Ricordiamo qui gli Status Codes AJAX per la proprietà readyState :

0 - non inizializzato
1 - In caricamento
2 - caricato con successo
3 - interattivo
4 - completato

Eccovi il codice:


var req = createXMLHttpRequest();

function sendRequest(id) {
req.open('get', 'func.php?id=' + id);
req.onreadystatechange = handleResponse;
req.send(null);
}

function handleResponse() {

if(req.readyState == 4){
var response = req.responseText;
var update = new Array();

if(response.indexOf('||' != -1)) {
update = response.split('||');
document.getElementById(update[0]).innerHTML = update[1];
}
}
else

alert("loading" + req.readyState);

}


Ora la parte HTML

A questo punto, tutto quello che ci serve è linkare la funzione javascript sendRequest().

<a xhref="javascript:sendRequest('myRequest');">cliccami.</a>

<span id="showDiv">

</span>



Questo è quanto richiesto lato html, quindi ci resta solo da scrivere il codice lato php che gestirà la connessione MYSQL vera e propria.

<?

switch($_REQUEST['id']) {

case 'myRequest':

echo "showDiv||";

# inserite qui il nome del vostro sever MySQL , la username, e la password --> meglio utilizzare cmq una include in questi casi

$link = mysql_connect('server', 'username', 'password');

# se la connessione crolla allora manda echo dell'errore

if (!$link) {

die('Spiacenti ma è impossibile connettersi al server: ' . mysql_error());

}

# altrimenti la connessione è avvenuta con successo

echo 'Ok, connessione avvenuta con successo<br />';

# chiusura connessione

mysql_close($link);

break;

}

?>


buon divertiemnto!!! 8)
Michele
 
Messaggi: 308
Iscritto il: ven mar 17, 2006 2:14 am

Torna a Webmaster

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron