articolo: Paginazione dei dati presenti in un file di testo - informazioni

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, sto leggendo questo e che mi serve per fare una mini galleria senza il db e appoggiandomi su un file txt dove sono elencate le foto in ordine.

https://www.mrw.it/php/paginazione-dati-presenti-file-testo_6562.html

l'esempio mi da questi notice:

Notice: Undefined variable: perpage in D:\xampp\htdocs\gallery\index.php on line 12

Notice: Undefined variable: pos in D:\xampp\htdocs\gallery\index.php on line 13

Il codice è cosi:
vi ho messo i commenti dove ci sono gli errori.

mi potete aiutarmi ad farlo funzionare.?


PHP:
<!DOCTYPE html>
<html lang="it">
<head> 
<meta charset="utf-8">

<link href="photo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php

$file = file("photo/".$_GET["dir"]."/photo.txt");
if($perpage == FALSE) $perpage = 30;  // qui l'errore
if($pos == FALSE) $pos = 0;                // qui l'errore

$count = count($file);
for($i = $pos; $i < ($perpage+$pos); $i++)

{

if($i > $count-1) break;
$result = explode("|", trim($file[$count-$i-1]));


echo "<li>$result[0] $result[1]\n";
}



echo "<div align=\"center\">[ ";
for($p = 0; $p < $count; $p++)

{

if(!($p % $perpage))

{

$pg = ($p/$perpage)+1;
if ($p == $pos)

{

echo "<strong>$pg</strong> ";
}

else

{

echo "<a href=\"?dir={$_GET["dir"]}&pos=$p\">$pg</a> ";
}

}

}

echo " ]</div>";
?>
</body>
</html>
 
questo e sono le modifiche mie:
PHP:
<!DOCTYPE html>
<html lang="it">
<head> 
<meta charset="utf-8">

<link href="photo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="photo">
<?php
$url = (isset($_GET["dir"])) ? trim ((string)$_GET["dir"]): '';
$file = file("photo/".$url."/photo.txt");
$perpage = 30;
$pos = 0;

$count = count($file);

echo "<ul class=\"album\">";

for($i = $pos; $i < ($perpage+$pos); $i++)

{

if($i > $count-1) break;
$result = explode("|", trim($file[$count-$i-1]));

echo "<li><img src=\"photo/{$_GET["dir"]}/thumb/$result[0]\"></li>\n";
}

echo "</ul>";

echo "<div align=\"center\">[ ";
for($p = 0; $p < $count; $p++)

{

if(!($p % $perpage))

{

$pg = ($p/$perpage)+1;
if ($p == $pos)

{

echo "<strong>$pg</strong> ";
}

else

{

?><a href="?dir=<?php echo $_GET["dir"]; ?>&pos=<?php echo $p; ?>"><?php echo $pg; ?></a>
<?php
}

}

}

echo " ]</div>";
?>
</div>
</body>
</html>

pero non capisco perché non va la paginazione.

idea?
 
Ciao, non so se hai già risolto, ma ti segnalo questo articolo in merito alla paginazione php, che secondo me è spiegato bene e io mi sono trovato benissimo :)

https://www.mrw.it/php/paginazione-dati-mysql_6871.html

questo e sono le modifiche mie:
PHP:
<!DOCTYPE html>
<html lang="it">
<head> 
<meta charset="utf-8">

<link href="photo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="photo">
<?php
$url = (isset($_GET["dir"])) ? trim ((string)$_GET["dir"]): '';
$file = file("photo/".$url."/photo.txt");
$perpage = 30;
$pos = 0;

$count = count($file);

echo "<ul class=\"album\">";

for($i = $pos; $i < ($perpage+$pos); $i++)

{

if($i > $count-1) break;
$result = explode("|", trim($file[$count-$i-1]));

echo "<li><img src=\"photo/{$_GET["dir"]}/thumb/$result[0]\"></li>\n";
}

echo "</ul>";

echo "<div align=\"center\">[ ";
for($p = 0; $p < $count; $p++)

{

if(!($p % $perpage))

{

$pg = ($p/$perpage)+1;
if ($p == $pos)

{

echo "<strong>$pg</strong> ";
}

else

{

?><a rel="nofollow" href="?dir=<?php echo $_GET["dir"]; ?>&pos=<?php echo $p; ?>"><?php echo $pg; ?></a>
<?php
}

}

}

echo " ]</div>";
?>
</div>
</body>
</html>

pero non capisco perché non va la paginazione.

idea?
 

Discussioni simili