Ciao a tutti, ho un problema, ho un db .txt formato da diverse riche del tipo: id|nome pagina|nome foto|
Voglio scegliere random alcune foto ecco il codice della pagina "caso.php" a cui passo una variabile ?perpag=x
Ilproblema è che ad esempio con ?perpag=10 mi visualizza 8, 9 e solo a volte 10 foto, ecco il codice:
<?php
function randiff($min, $max, $num) {
if ($min<$max && $max-$min+1 >= $num && $num>0) {
$random_nums = array();
$i=0;
while($i<$num) {
$rand_num = rand($min, $max);
if (!in_array($rand_num, $random_nums)) {
$random_nums[] = $rand_num;
$i++;
}
}
return $random_nums;
} else {
return false;
}
}
$perpagina= $_GET['perpag'];
$f = file("video.txt");
$c = count($f)-2;
if ($perpagina > $c)
{
$perpagina = $c;
}
echo $perpagina;
echo "
";
$per = $perpagina;
$nums = randiff(1, $c, $per);
$hbd=0;
$ii=0;
$textfile = fopen("video.txt", "r");
?>
<table width="130" border="0" align="center" cellpadding="0" cellspacing="2">
<?php
while ($rigafile = fgets($textfile))
{
$ii++;
$sab=0;
if (in_array($ii, $nums))
{
echo "<tr>";
$riga = explode("|", $rigafile);
$cartelpag= 'video/';
$link=$riga[0];
$link.='_';
$link.=$riga[1];
$link.='.php';
$link = str_replace ( ' ', '_' , $link );
?>
<td><div align="center"> [img]<?php echo $riga[4]; ?>[/img]</div></td>
<?php
$ii++;
while ($rigafile = fgets($textfile) and $sab==0 )
{
if (in_array($ii, $nums))
{
$riga = explode("|", $rigafile);
$cartelpag= 'video/';
$link=$riga[0];
$link.='_';
$link.=$riga[1];
$link.='.php';
$link = str_replace ( ' ', '_' , $link );
?>
<td><div align="center"> [img]<?php echo $riga[4]; ?>[/img]</div></td>
<?php
echo "</tr>";
$sab=1;
}else{
$ii++;
}
}
}
}
?>
</table>