
Allora maxk, grazie mille della risposta, sicuramento con jQuery otterrei più semplicemente i risultati a cui aspiro, ma ormai ho impostato diverse pagine con il codice da te suggerito.
Se non ti dispiace e soprattutto se avessi voglia di darci un'occhiata ti posto il codice di un esempio di refresh che intendevo spiegarti nel post precedente.
Quello che ti mostro è quello riferito al mazziere o dealer (sto facendo una sorta di poker room con ajax e php/mysql), ovvero a quale dei due giocatori viene mostrata la pedina a seconda che il valore nel db sia 1 o 2.
Ecco lo script js che richiamo nella pagina principale
----------------- ajaxDeal.js -------------------function dealer(whoami)
{
var URL = "dealer.php";
if(window.XMLHttpRequest)
{ httpRequest = new XMLHttpRequest(); }
else if(window.ActiveXObject)
{
try { httpRequest = new ActiveXObject("MSXML2.XMLHTTP.3.0"); }
catch(e)
{
try { httpRequest = new ActiveXObject("MSXML2.XMLHTTP"); }
catch(e)
{
try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e)
{ httpRequest = false; }
}
}
}
else { httpRequest = false; }
if(httpRequest)
{
try
{
httpRequest.open("POST",URL, false, null, null);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var param = "nctrl1="+ nctrl1;
httpRequest.send(param);
} catch (e)
{ var risultato = "Impossibile inviare la richiesta al server"; }
switch(httpRequest.readyState)
{
case 1, 2, 3:
var risultato = "Errore di comunicazione: " + httpRequest.status;
break;
case 4:
if ( httpRequest.status != 200 )
{ var risultato = "Il server ha risposto con l'errore: " + httpRequest.status; }
else
{
deal(httpRequest.responseXML,whoami);
setTimeout("dealer(" + "\"" + whoami + "\" )",1000);
}
break;
}
}
else
{
var risultato = "Il browser non supporta connessioni XMLHttpRequest";
}
}
function deal(xml,whoami)
{
document.getElementById('dlrp'+ whoami).innerHTML = '';
var control = xml.getElementsByTagName('ctrl');
var c01 = control[0].getElementsByTagName('c01')[0].firstChild.nodeValue;
if (c01 == whoami)
{
document.getElementById('dlrp'+ whoami).innerHTML = '<img src="./img/deal.png" alt="DEALER" />';
}
else
{ }
}
----------------- ------------------ -------------------questa invece è la pagina php che consente il passaggio dei dati:
----------------- dealer.php ------------------- <?php include("config.inc.php");
$db=mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
mysql_select_db($db_name,$db) or die(mysql_error());
$query="SELECT dealer FROM ctrl".$_POST['nctrl1']." LIMIT 1";
$result=mysql_query($query,$db);
$row=mysql_fetch_array($result);
$_xml = "<ctrl>";
$_xml .= "<c01><![CDATA[" . utf8_encode($row['dealer']) . "]]></c01>";
$_xml .= "</ctrl>";
header("Content-type: text/xml");
print "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
print $_xml;
mysql_close($db); ?>
------------------------------------------------Come ultima cosa l'evento onLoad del tag
body inserito nella pagina che richiama tutto:
onLoad="javascript:dealer('1');dealer('2');"
e i realativi contenitori per visualizzare la pedina DEALER
<div class="dealer1" id="dlrp1"></div>
<div class="dealer2" id="dlrp2"></div>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Il codice come puoi notare utilizza la modalità sincrona, se dovessi cambiare il paramentro
false in
true il codice smette di funzionare, o almeno non visualizza più la pedina...
Sai spiegarmi il perchè??
Secondo te come metodo è adatto per raggiungere lo scopo?
Gli altri aggiornamento seguono, chi più chi meno, l'andamento di questo.
Possono girare tranquillamento tutti assieme?
Come modificarli nell'altra modalità?


