Ho creato un guestbook, dove i messaggi vengono salvati su un file di testo.
Per visualizzare i messaggi, leggo tutti i messaggi (riga per riga) nel file di testo e li stampo a video.
Tutto questo va bene se ci sono pochi messaggi, ma quando i messaggi cominciano a diventare tanti si crea confusione (anche perchè i messaggi li faccio ruotare).
Mi chiedevo se esistesse la possilità di inserire un "qualcosa" (tipo un contatore di messaggi o di righe) che mi dia la possibilità di impostare un tot di messaggi per pagina. :master:
Per capirci, come quello che ho creato con il database, imposto una variabile con il numero max di messaggi e lo script me li divide per un tot di pagine.
Questo l'ho voluto fare con un file di testo per dare la possibilità, a chi non ha un database, di poterlo usare ugualmente.
Posto il codice della pagina principale:

Codice PHP:
<?php include ("config.php");
?>
<style>
.titolo {
font:"Courier New", Courier, monospace;
font-size: <? echo $dimensfont?>;
color: <? echo $colorT?>
}
.tabMess {
background-color: <? echo $sfondoTab?>;
font-family:Arial, Helvetica, sans-serif;
color: <? echo $colorFont?>;
font-size: <? echo $dimensionefont?>;
}
</style>

<table width="100%" border="0">
  <tr>
    <td align="center" class="titolo"><? echo $titolo_guest?></td>
  </tr>
</table>





<table width="40%" height="250" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="65%" class="tabMess" ><Marquee Behavior="Scroll" Direction="up" Height="200" width="100%" ScrollAmount="2" ScrollDelay="30" onmouseover="this.stop()" onmouseout="this.start()">
    
<?php
// parametri di configurazione
    
$filename="messaggi.txt";  // file delle frasi
    
$delim="<";             // delimitatore di frase

    // apri il file delle frasi
    
$fd=fopen($filename,"r");

    
//conta il totale delle righe, quindi dei messaggi
    //$totMex=count(file($filename));

    // legge il file
    
$contents fread ($fdfilesize ($filename));

    
//estrae per riga
    
$fraseexplode($delim,$contents);

    
//in ordine inverso i messaggi
    
$frase_reversearray_reverse($frase);
    
    
if (
sizeof($frase) <= "1")
{
echo 
"$PHP_SELF: Errore, nessun array, sto uscendo...";
exit;
}
 
for(
$i=0;$i<count($frase)-1;$i++)
{
$val[$i]=explode('#'$frase_reverse[$i]);


$nome[$i]=ucfirst ($val[$i][0]);
$citta[$i]=ucfirst ($val[$i][1]);
$messaggio[$i]=ucfirst ($val[$i][2]);
$data [$i]= ($val[$i][3]);

$table='<table width="100%" cellpadding="0" cellspacing="0" class="tabMess">
<tr>
<td  bgcolor="#999999">'
$nome[$i]. $citta[$i].  $data[$i].'</td>
</tr>
</table>

<table width="100%" height="40" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#CCCCCC">'
$messaggio[$i].'</td>
</tr>
</table>

'
;

  echo 
$table;
}

// chiude il file
fclose ($fd);

?>
   </Marquee></td>
          </tr>

<tr>
 <td align="center" height="85">
   <table width="35%" height="85" border="0">
     <tr>
      <td width="35%">

      <form action="scrivi.php" method="post" name="form1">
       <table width="0" border="0" align="center">
        <tr>
          <td>*Nome:</td>
          <td width="82"><input name="Nome" type="text" size="10" style="font-size: 10px; font-family:Verdana"></td>
          <td>*Citt&agrave;:</td>
          <td><input name="Citta" type="text" id="Citta"  onFocus="controllaNo()" size="10" style="font-size: 10px; font-family:Verdana"></td>
                  <td>*Messaggio:</td>
          <td><textarea name="Mex" cols="20" id="Mex" style="font-size: 10px; font-family:Verdana" onFocus="controlla()"></textarea>          </td> 
        </tr>
   <tr>
   <td>                        </td>
   <td colspan="2">*=campi obbligatori  </td>
   </tr>
      </table>
      <div align="center">
        <input type="submit" value="Firma" name="invia" onfocus="y" style="font-size: 10px; font-family:Verdana" />
      </div>
       </form></td>
      </tr>
         </table>    
     
         </td>
     </tr>
</table>
Magari non si può neanche fare.
Se non mi sono spiegato bene, chiedete pure.

Grazie in anticipo