In questo Articolo presenterò un brevissimo ma efficacissimo esempio di realizzazione di uno script AJAX e PHP con un interazione con database MySQL tecnologie utili ad un Programmatore PHP per la realizzazione di siti dinamici.
Con quest'esempio simuleremo la selezione di una scheda di un dipendente all'interno di un database MySQL, tali dati verranno estrapolati utilizzando PHP e ovviamente un Programmatore PHP potrà ampliare o sfruttare tale script per la realizzazione di elementi ben più complessi.
Lo script è composto banalmente da 2 file, uno è il file principale che viene richiamato dal server e che sarà la maschera che l'utente vedrà sempre visibile, mentre il secondo lavorerà in maniera asincrona in background per l'aggiornamento dei dati utilizzando Javascript e AJAX
Potete esaminare il funzionamento di questo Script QUI
Per rendere chiaro l'esempio per prima cosa descriviamo il semplice DB MySQL utilizzato in questo esempio:

Adesso eseminiamo il file che si occupa di chiamare la funzione mostraInfo responsabile degli aggiornamenti asincroni AJAX:
<script type="text/javascript">
var xmlhttp;
function mostraInfo(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="mostra_utenti.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("info").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
<form>
Seleziona Dipendente:
<select name="users" onChange="mostraInfo(this.value)">
<?php
//Seleziono quelli che sono i dipendenti
$connessione = mysql_connect('xxxx', 'xxxx', 'xxxx');
mysql_select_db("xxxx", $connessione);
$query = "SELECT * FROM `dipendenti` ORDER BY nome ASC";
$result = mysql_query($query);
while($riga = mysql_fetch_array($result)){
echo "<option value='$riga[id]'>$riga[nome] $riga[cognome]</option>";
}
?>
</select>
</form>
<br />
<div id="info"></div>
La funzione mostraInfo si occupa di creare l'oggetto XMLHTTP e richiama il file creato con PHP che effettua la selezione delle informazioni che il Programmatore PHP intende portare all'attenzione dell'utilizzatore dello script.
Il secondo file è quello richiamato dallo script principale e che effettua una richiesta al server per l'aggiornamento delle informazioni, tale file non verrà mai visualizzato dall'utente che ne otterrà solo gli aggiornamenti:
<?php
$q=$_GET["q"];
$con = mysql_connect('xxxx', 'xxxx', 'xxxx');
mysql_select_db("xxxx", $con);
$sql="SELECT * FROM dipendenti WHERE id = '".$q."'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>Nome</th>
<th>Cognome</th>
<th>Anni</th>
<th>Lavoro</th>
<th>Stipendio</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['nome'] . "</td>";
echo "<td>" . $row['cognome'] . "</td>";
echo "<td>" . $row['anni'] . "</td>";
echo "<td>" . $row['lavoro'] . "</td>";
echo "<td>" . $row['stipendio'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
.Nessun commento Presente.