Non so da dove viene elaborata la variabile php $ultimo_id
ma è quella che ci torna utile.
Possiamo far scrivere la lista dell' Array al PHP con un loop, una ripetizione, eseguita con for
Occorre programmare fino a quando/dove questa ripetizione deve procedere: finchè la nuova variabile introdotta, $item si mantiene < minore di $ultimo_id
Ad ogni replica, $item si incrementa di +1 ed echo scrive la sua riga.
Sostituisci la lista delle foto:
photos[0]="public/foto/141.jpg"
photos[1]="foto/2.jpg"
photos[2]="foto/3.jpg"
photos[3]="foto/4.jpg"
photos[4]="foto/5.jpg"
con questo blocchetto di
Codice PHP:
<?php
$item = 0;
echo "photos[0]=\\"public/foto/141.jpg\\"\\n";
for ($item=1; $item < $ultimo_id; $item ++){
$pic = $item+1;
echo "photos[".$item."]=\\"foto/".$pic.".jpg\\";\\n";
}
?>
sempre ammesso che il valore di $ultimo_id sia già definito a quel livello; ma temo che dovremo importarlo da un' altra pagina/database.
Prova questo medellino, salvalo sul server come file.php aprilo sul Browser e poi vai a vedere il Codice HTML che il Browser riceve
(click di destro => HTML -o- View Page Source).
Noterai che in base al valore assegnato a $ultimo_id il php ti scriverà l' Array; fermandosi al [7] settimo articolo, nell' esempio.
codice:
<html>
<head>
<TITLE>revised Array</TITLE>
<script type="text/javascript" language="JavaScript">
var photos=new Array();
var which=0;
/*Change the below variables to reference your own images. You may have as many images in the slider as you wish*/
<?php
$ultimo_id = 8;
$item = 0;
echo "photos[0]=\\"public/foto/141.jpg\\"\\n";
for ($item=1; $item < $ultimo_id; $item ++){
$pic = $item+1;
echo "photos[".$item."]=\\"foto/".$pic.".jpg\\";\\n";
}
?>
function backward(){
// ...
}
function forward(){
// ...
}
</script>
</head>
<body bgcolor="#909090">
<div align="center">
<form>
inserisci numero: <tt><big>photos[<input
type="text" size="1" name="item" style="text-align: center;" onClick='this.value="";'>]</big></tt>
<input value="ricava URL da Array" type="button" onClick='displayer.value=photos[item.value];'>
<input value="" type="text" size="" name="displayer">
</form>
</div>
</body>
</html>
Le backslash di escape possono dover essere doppie, sul server \\
\n serve a rendere un ritorno di riga sul codice che vedrai dal browser, altrimenti php echo ti scrive su riga continua.