AjaxCity
a- a+

Connessione ad un database MySql

Alla ricerca di esempi utili per migliorare le funzioni"di tutti i giorni" , ci siamo imbattuti in untutorial di John Wiseman inerente la creazione di unaconnessione a mysql via php/ajax.

Il codice si divide in diverse parti; la prima parte quisotto esegue un controllo sui browsers istruendo l'XHR inmaniera 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 decidiamocome vogliamo gestire la response. a funzione sendRequest()qui sotto invierà una richiesta HTTP di tipo GET alserver  per ottenere l'XML document. La funzionehandleResponse() controlla anche lo status dellarequest  stessa, inviando la responseuna volta terminatala request stessa.

A questo punto creiamo la request  AJAX e decidiamo comevogliamo gestire la response. a funzione sendRequest() quisotto invierà una richiesta HTTP di tipo GET alserver  per ottenere l'XML document. La funzionehandleResponse() controlla anche lo status dellarequest  stessa, inviando la responseuna volta terminatala 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 lafunzione javascript sendRequest().

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

Questo è quanto richiesto lato html, quindi ci restasolo da scrivere il codice lato php che gestirà laconnessione 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'erroreif (!$link) {die('Spiacenti ma è impossibile connettersi al server: ' . mysql_error());}# altrimenti la connessione è avvenuta con successo    echo 'Ok, connessione avvenuta con successo<br />';# chiusura connessionemysql_close($link);    break;}?>