- Home
- Categorie
- Coding e Sistemistica
- PHP
- incremento variabile
-
incremento variabile
ciao a tutti..
..con l'aiuto di qualche programma gia' fatto..
..ho messo assieme questo codice...<html> <head> <title>milter's smiley</title> <script type="text/javascript"> function seleziona(x) { document.form1.mybutton.value= "![image](parcheggio.altervista.org/_altervista_ht/test/" + x + ")"; document.form1.mybutton.select(); document.form1.mybutton.focus(); } function copyClip(elementID) { object=document.getElementById(elementID); text2copy=object.value; if (window.clipboardData) { window.clipboardData.setData("Text",text2copy); } else { var flashcopier = 'flashcopier'; if(!document.getElementById(flashcopier)) { var divholder = document.createElement('div'); divholder.id = flashcopier; document.body.appendChild(divholder); } document.getElementById(flashcopier).innerHTML = ''; var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>'; document.getElementById(flashcopier).innerHTML = divinfo; } } </script> </head> <body> <table border="1" bgcolor="fbfbdc" width=100% cellspacing=0> <tr> <td> <center> <br> <form name="form1"> <input type="text" id="mybutton" name="mybutton" size="30" value="Some default text here."> <br><br><input type="button" id="copy" value="Copia il codice" class="formbutton" onclick="copyClip('mybutton');"> <br><br> </form> <a href=""><img src="freccia_in.gif"></a> <a href=""><img src="freccia_av.gif"></a> <br><br> <? function elencaimg($nome_directory,$array_estensioni_ammesse){ $array_immagini=Array(); if(file_exists($nome_directory)){ $handle = opendir($nome_directory); while (false !== ($file = readdir($handle))) { if(is_file($nome_directory.$file)){ $estensione = strtolower(substr($file, strrpos($file, "."), strlen($file)-strrpos($file, "."))); if(in_array($estensione,$array_estensioni_ammesse)){ array_push($array_immagini,$file); } } } $handle = closedir($handle); } return $array_immagini; } $array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); // -------------- // la variabile $seq e' quella che determina in quale directory cercare le immagini // dovrebbe poter cambiare clikkando sulle frecce (attualmente funziona solo con i valori 1-2-3-4 // avanti = $seq +1 ---- indietro = $seq -1 --- e poi rieseguire il programma // -------------- $seq=1; $nome_directory='immagini_'.$seq.'/'; $array_immagini=elencaimg($nome_directory,$array_estensioni_ammesse); $elementi_da_visualizzare=count($array_immagini); ?> <table border="1"> <? for ( $i = 0; $i < $elementi_da_visualizzare; $i+=5) { for ( $j = 0; $j <= 4; $j++) { echo "<td>"; ?> <td><a href="" onclick="seleziona('<?=$nome_directory,$array_immagini[$i+$j]?>');return false;"><img src="<?=$nome_directory.$array_immagini[$i+$j]?>" width=100 height=100 border=0></td> <? echo "</td>"; } echo "</tr>"; } echo "</table>"; ?> <br> <br> </table> ```di per se il codice funziona tutto.. ma mi serve il vs aiuto per alcune cosucce.. * vorrei che, cliccando sulle due frecce ``` <a href=""><img src="freccia_in.gif"></a> <a href=""><img src="freccia_av.gif"></a> ``` vorrei in qualche modo incrementare (o diminuire) la variabile $seq che mi determina in quale cartella cercare le immagini ``` $nome_directory='immagini_'.$seq.'/';
- a fronte di quanto al punto 1. (una volta cambiato il valore a $seq) come faccio a rilanciare il programma??
- vorrei presentare le immagini in ordine alfanumerico anziche' sparso come adesso
- vorrei evitare spazi nn occupati da immagini (attualmente a fronte di $j chiude sempre la cinquina)```
for ( $j = 0; $j <= 4; $j++)
..ciao e grazie..:gthi:
-
1,2)
fai puntare il link sulla freccia a href="?seq=<?php print $seq;?>"poi cambia seq
$seq=1
con
$seq = (isset($_GET["seq"]) && (int)$seq>0) ? $seq : 1;e sposta l'assegnazione di $seq prima dell'html delle frecce.
- cambia
return $array_immagini;
con
sort($array_immagini);
return $array_immagini;
codice da testare.
- cambia
-
grazie per la risposta..il "sort" funziona..
..per quanto riguarda il resto..
..ho modificato cosi' il codce............................... </form> <? $seq = (isset($_GET["seq"]) && (int)$seq>0) ? $seq : 1; ?> <a href="?seq=<?php print $seq;?>"><img src="freccia_in.gif"></a> <a href="?seq=<?php print $seq;?>"><img src="freccia_av.gif"></a> <br><br> <? function elencaimg($nome_directory,$array_estensioni_ammesse){ ......................... ```e testandolo in locale..cliccando sulla freccia avanti .. ..punta all'indirizzo..
localhost/test/88/test/link_1.php?seq=1
..e anche se digito a mano..
localhost/test/88/test/link_1.php?seq=3
idee..?..:? p.s...nn vedo nel tuo codice dove si dovrebbe incrementare o decrementare $seq..
-
sorry, ho sbagliato io a darti il codice
questo
$seq = (isset($_GET["seq"]) && (int)$seq>0) ? $seq : 1;
diventa
$seq = (isset($_GET["seq"]) && (int)$_GET["seq"]>0) ? (int)$_GET["seq"] : 1;
$prec = ($seq>1) ? $seq-- : 1;
$succ = $seq++;inoltre:
<a href="?seq=<?php print $prec;?>"><img src="freccia_in.gif"></a>
<a href="?seq=<?php print $succ;?>"><img src="freccia_av.gif"></a>
-
nn cambia...
..sembra che $seq sia fissa a 2..
..oltre all'assegnazione di $prec e $succ ..nn ci vorrebbe un evento che li faccia variare??..:?
in compenso adesso digitando a mano il link
localhost/test/88/test/link_1.php?seq=1 (2 o 3 o 4) ```funziona...:smile5:
-
infatti prec è uguale a seq-- (cioè seq-1) e succ a seq++ (seq+1)
-
ok..pero' clikkando sulle frecce ..succede nulla...
-
...allora prova e riprova..ho notato qualcosa...
..che ho riassunto in questo micro codice..<? $seq = (isset($_GET['seq']) && (int)$_GET['seq']>0) ? (int)$_GET['seq'] : 10; // $prec = ($seq>0) ? $seq-- : 1; $succ = $seq++ ; // echo $seq; // echo "<a href='a.php?seq=$prec'><img src='freccia_in.gif'></a>"; // echo "<a href='a.php?seq=$succ'><img src='freccia_av.gif'></a>"; // ?> ```..l'unica differenza rispetto ai tuoi suggerimenti e' che alla prima linea invece di fare $seq=1 faccio $seq=10 e facendo cosi' ho notato che il programma gira... ma in maniera strana.. cioe': con la freccia di incremento (avanti) $seq diminuisce.. con la freccia di decremento (indietro) succede nulla... :?:?
-
ecco:
$prec = ($seq>1) ? $seq-1 : 1;
$succ = $seq+1 ;in quell'altro modo, $seq-- decrementa il valore di $seq e poi l'assegna a $prec e lo stesso fa per $seq++, come sopra invece $seq non cambia di valore, come è giusto che deve essere.
sorry.
-
...funziona tutto...!!!!!!....
..grazie..