All'interno di una classe php ho estrapolato due array, uno contenente l'indirizzo dell'immagine e un altro il link a cui si riferisce. Con questi parametri devo costruire un banner a rotazione delle immagini (casuale o in sequenza come è nell'array, non ha importanza).

$link[$i]=$row["link"]; //link per ogni immagine
$src[$i]=$row["img"]; //path per ogni immagine

Non sono pratico di javascript, ma con le funzioni ci lavoro e quindi ho estrapolato da un esempio una funzione di JS che potrebbe servire:

Codice PHP:
function rotateIt(){
  
sponsorctr=(sponsorctr<sponsor_nr-1?sponsorctr+1:0);
  
document.images[ad].src=im[sponsorctr].src;
  if (
document.getElementById){
   
document.getElementById('a').innerHTML=msg[sponsorctr];
   }
  
tmr=setTimeout("rotateIt()",+timerot);

dove sponsor_nr è il numero totale dei banner e timerot è definito come:
var timerot = 5000;

Come faccio a far interagire questa funzione con gli array php?


NB: metto qui sotto l'intero esempio da cui ho estrapolato questa funzione JS, nel caso servisse per chiarimenti:

Codice PHP:
<script type="text/javascript" language="JavaScript">
<!--
var 
bannerwidth 468;
var 
bannerheight 60;
var 
sponsor_nr=4;
var 
folder="banner/";
var 
sfx='.gif';
var 
timerot 5000;

var 
sponsorctr=0;
var 
halt=0;
im=new Array();
for (
i=0;i<sponsor_nr;i++){
 
im[i]=new Image();
 
im[i].src=folder+i+sfx;
}
var 
dest=new Array();
dest[0]="http://corsi.html.it";
dest[1]="http://freephp.html.it";
dest[2]="http://newsletter.html.it";
dest[3]="http://corsi.html.it";

var 
msg=new Array();
msg[0]="Messaggio per Corsi.html.it etc etc etc etc...";
msg[1]="Messaggio per Freephp.html.it etc etc etc etc...";
msg[2]="Messaggio per Newsletter.html.it etc etc etc etc...";
msg[3]="Messaggio per Corsi.html.it etc etc etc etc...";

function 
rotateIt(){
 if (
halt!=1){
  
sponsorctr=(sponsorctr<sponsor_nr-1?sponsorctr+1:0);
  
document.images[ad].src=im[sponsorctr].src;
  if (
document.getElementById){
   
document.getElementById('a').innerHTML=msg[sponsorctr];
   }
  
tmr=setTimeout("rotateIt()",+timerot);
  }
}

function 
lightIt(){
 
halt=0;
 
window.status="Visitati "+dest[sponsorctr];
 if (
tmr!=""){
  
clearTimeout(tmr);
  }
 }

function 
dimIt(){
 
halt=0;
 
window.status="";
 
rotateIt();
 }

function 
dumpIt(){
 
halt=1;
 
sponwin=window.open(dest[sponsorctr],'','');
 }
function 
wrtIt(){
 
document.write('<TABLE BORDER="0" WIDTH="'+bannerwidth+'" align="center"><TR><T'
 
+'D>[img]+folder+[/img]<A HREF=sponsor'
 
+'.html onMouseover=lightIt() onMouseOut=dimIt() onClick="dumpIt'
 
+'();return false;">[img]+folder+[/img]
<DIV ID=a><ILAYER ID=b><LAYER ID=c><IMG SRC='
 
+folder+'shim.gif WIDTH='+bannerwidth+' HEIGHT='+bannerheight+'></LAYER></ILAYER></DIV></A></'
 
+'TD></TR></TABLE>');
 }

function 
getImgAdd(){
 for (var 
i=0;i<20;i++){
  if (
document.images[i].src.indexOf(folder+'shim.gif')>-1){
   
ad=i+1;
   
i=20
   
}
  }
 }

//-->
</script> 

Le funzioni sono così richiamate:

Codice PHP:
<div align="center">

<
SCRIPT language=JAVASCRIPT>
<!--
wrtIt();
getImgAdd();
sponsorctr=Math.floor((sponsor_nr*Math.random()));
rotateIt();
// -->
</SCRIPT>

</div>