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;}?>
- Articolo precedente Creiamo la nostra prima applicazione in Ajax (Parte II-1)
- Articolo successivo Programmare in Ajax con Php senza usare l'oggetto xmlhttprequest 2
