Visto che il gentilissimo bonaprogram mi ha parlato di ajax ho voluto intraprendere queste strada cercando di creare nella mia applicazione qualcosa che faccia uso di ajax;
Ho provato degli esemepi e naturalmente ho cercato di adattarli nel mio codice, però funziona anche questo a metà.
Mi spiego meglio (prima a parole,poi Vi mostro il codice):
creo una pagina con estenzione .html e lì creo una select con dei valori e sull'evento onchange applico il cosiddetto codice ajax, poi creo il codice selectuser.js e infine l'appilcazione con esenzione .php e in questo modo funziona.
se io nel file .html lo cambio sia dal punto di vista codice che anche come estenzione(.php) non funziona più.
Questo è il codice della pagina mycheck.php;
Codice PHP:
<?php include('dbclass.php');?>
<!DOCTYPE html PUBLIC "~//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"
xml:lang="en-US">
<head>
<script src="selectuser.js"></script>
</head>
<body>
<form action="getuser.php" method="GET">
Select a User:
<select name="users" onchange="showUser(this.value)">
<?php
$conn=DB::conn();
$query="SELECT * FROM cat";
$res=@mysql_query($query);
while ($row=@mysql_fetch_assoc($res)) {
echo"<option value=\"$row[id_categoria]\">$row[Categoria]</option>";
} ?>
</select>
</form>
<div id="txtHint">[b]La Categoria non esiste nell'elenco.[/b]</div>
</p>
</body>
</html>
Questa è la pagina selectuser.js:
codice:
var xmlHttp
function showUser(str)
{
if(str==""){
document.getElementById("txtHint").innerHTML="La Categoria non esiste nell'elenco";
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser non supporta questa richiesta HTTP")
return
}
var url="getuser.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 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
e questo è il codice della pagina getuser.php:
Codice PHP:
<?php
include('dbclass.php');
$q=$_GET["q"];
$con = DB::conn();
$sql="SELECT * FROM cat WHERE Categoria = '".$q."'";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
</tr>";
while($row = @mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id_categoria'] . "</td>";
echo "<td>" . $row['Categoria'] . "</td>";
echo "<td>" . $row['Descrizione'] . "</td>";
echo "<td>" ."<img src=\"imagescat/$row[logo] \">". "</td>";
echo "</tr>";
}
echo "</table>";
?>
Potete aiutarmi a capire dove è l'errore e naturalmente imparare un nuovo linguaggio insieme a Voi;
Grazie ancora