numerazione messaggi in ogni pagina del guestbook

netmaster

Nuovo Utente
8 Dic 2008
14
0
1
Salve a tutti, in riferimento al file sotto riportato per visualizzare i messaggi di un guestbook, vorrei sottoporre alla vostra attenzione come risolvere questo problema:

vorrei visualizzare la sequenza numerica dei messaggi presenti in una determinata pagina attraverso l'utilizzo dell'attributo TITLE, puntando il mouse sopra i numeri della paginazione, ovvero:

se punto il mouse sul numero 1 deve apparire: messaggi da 1 a 5,
se punto il mouse sul numero 2 deve apparire: messaggi da 6 a 10,
se punto il mouse sul numero 3 deve apparire: messaggi da 11 a 15
e così via.

Io ho provato a fare come sotto, ma i numeri visualizzati sono sbagliati.
Il codice sotto osservazione è quello inserito tra le righe delimitate dai cancelletto (#).
Qualcuno mi può aiutare?

CODICE DEL FILE:

PHP:
<?php
include("connessione_db.php");

if(!isset($messaggio)){
  $messaggio = "";
}else{
  echo "$messaggio";
}

$strsql3 = "select count(*) as numero from messaggi";
$query3 = mysql_query($strsql3);
$row3 = mysql_fetch_array($query3);
$numero = $row3["numero"];
mysql_free_result($query3);

$numero_record = 5;
if(!isset($HTTP_GET_VARS["inizio"])){
$inizio = 0;
}else{
$inizio = $HTTP_GET_VARS["inizio"];
}

$strsql = "select * from messaggi order by id desc limit $inizio,$numero_record";
$query = mysql_query($strsql);
																
$strsql2 = "select * from messaggi";
$query2 = mysql_query($strsql2);
$numero_record_totali = mysql_numrows($query2);
$numero_pagine = ceil($numero_record_totali/$numero_record);
$pagina_corrente = ceil(($inizio/$numero_record) + 1);




####################################################################################
// inizio codice numerazione messaggi per pagina

if (isset($_GET['inizio'])) {
  $inizio = $_GET['inizio'];
}
$numero_messaggi_per_pagina = $inizio * $numero_record;
if (isset($_GET['numero_record_totali'])) {
  $numero_record_totali = $_GET['numero_record_totali'];
} else {
  $totale_messaggi = mysql_query($strsql);
  $numero_record_totali = mysql_numrows($totale_messaggi);
}

// fine codice numerazione messaggi per pagina
####################################################################################



while($row = mysql_fetch_array($query)){
$autore = $row["autore"];
$email  = $row["email"];
$sito   = $row["sito"];
$testo  = $row["testo"];
$data   = $row["data"];
$ora    = $row["ora"];

include("include/gb_parole_proibite.php");
$num_proib = count($parole_proibite);
for ($i=0;$i<$num_proib;$i++){
  $sito  = ereg_replace($parole_proibite[$i],"*****",$sito);
  $email = ereg_replace($parole_proibite[$i],"*****",$email);
  $testo = ereg_replace($parole_proibite[$i],"*****",$testo);
}

if  (($email=="") & ( $sito=="")) {
   $div = "<div id=\"gb-blocco\">";
   $div .= "<div id=\"gb-dati-utente\"><strong>$autore</strong> <a href=\"mailto:$email\">$email</a> <a href=\"http://$sito\">$sito</a></div>";
   $div .= "<div id=\"gb-bordo-messaggio\"><div id=\"gb-messaggio\">$testo</div></div>";																	
   $div .= "<div id=\"gb-datario\">postato il $data alle ore $ora</div>";
   $div .= "</div>";
}
echo "<div id=\"gb-distanza-messaggi\"></div>";

if  ( (!($email=="")) & ( $sito=="")) {
   $div = "<div id=\"gb-blocco\">";
   $div .= "<div id=\"gb-dati-utente\"><div id=\"gb-container\"><div id=\"gb-left\"><strong>$autore</strong></div><div id=\"gb-right\"><a href=\"mailto:$email\">"."<img src=\"immagini/mail.gif\" onmouseover=\"Tip('contattami')\" onmouseout=\"UnTip()\" />"."</a> <a href=\"http://$sito\">$sito</a></div></div></div>";
   $div .= "<div id=\"gb-bordo-messaggio\"><div id=\"gb-messaggio\">$testo</div></div>";																	
   $div .= "<div id=\"gb-datario\">postato il $data alle ore $ora</div>";
   $div .= "</div>";
}
echo "<div id=\"gb-distanza-messaggi\"></div>";

if  ( ($email=="") & (!( $sito=="")) ) {
   $div = "<div id=\"gb-blocco\">";
   $div .= "<div id=\"gb-dati-utente\"><div id=\"gb-container\"><div id=\"gb-left\"><strong>$autore</strong></div><div id=\"gb-right\"><a href=\"mailto:$email\">$email</a> <a href=\"http://$sito\">"."<img src=\"immagini/home.gif\" onmouseover=\"Tip('visita il mio sito')\" onmouseout=\"UnTip()\" />"."</a></div></div></div>";
   $div .= "<div id=\"gb-bordo-messaggio\"><div id=\"gb-messaggio\">$testo</div></div>";																	
   $div .= "<div id=\"gb-datario\">postato il $data alle ore $ora</div>";
   $div .= "</div>";
}
echo "<div id=\"gb-distanza-messaggi\"></div>";

if  ( (!($email=="")) & (!( $sito=="")) ) {
   $div = "<div id=\"gb-blocco\">";
   $div .= "<div id=\"gb-dati-utente\"><div id=\"gb-container\"><div id=\"gb-left\"><strong>$autore</strong></div> <div id=\"gb-right\"><a href=\"mailto:$email\">"."<img src=\"immagini/mail.gif\" onmouseover=\"Tip('contattami')\" onmouseout=\"UnTip()\" />"."</a> <a href=\"http://$sito\">"."<img src=\"immagini/home.gif\" onmouseover=\"Tip('visita il mio sito')\" onmouseout=\"UnTip()\" />"."</a></div></div></div>";
   $div .= "<div id=\"gb-bordo-messaggio\"><div id=\"gb-messaggio\">$testo</div></div>";																	
   $div .= "<div id=\"gb-datario\">postato il $data alle ore $ora</div>";
   $div .= "</div>";
}
echo "<div id=\"gb-distanza-messaggi\"></div>";

$testo = ereg_replace("\n","<br>",$testo);
$testo = nl2br($testo);
$testo = stripslashes($testo);
$testo = htmlspecialchars($testo);
$email = htmlspecialchars($email);
$sito  = htmlspecialchars($sito);

$div   = ereg_replace('\\\\','',$div);
echo $div;
echo "<div id=\"gb-distanza-messaggi\"></div>";
}

echo "pagina: ";
if($numero_pagine > 1 OR $numero_pagine == 1){ 
     for($pagina = 1; $pagina <= $numero_pagine; $pagina++){ 
          if($pagina == $pagina_corrente){
               echo" <font style=\"color:#543A07;font-size:13px;font-weight:bold\">".$pagina."</font>"; 
          }else{ 
               ###################################################################
               // inserimento codice nel tag TITLE

               echo" <a title='messaggi da ".($numero_messaggi_per_pagina + 1)." a ".(min($numero_messaggi_per_pagina + $numero_record, $numero_record_totali))."' href='gb_leggi.php?inizio=".(($pagina - 1) * $numero_record)."'>".$pagina."</a> "; 

               // fine inserimento codice nel tag TITLE
               ###################################################################               
          }
     } 
}

mysql_free_result($query);
mysql_free_result($query2);															

echo "<p>sono presenti <font style=\"font-weight:bold;color:#543A07\">$numero</font> messaggi</p>";

mysql_close();
?>

Grazie a tutti coloro che interverranno. :byebye:
 
forse non ho capito bene io il problema cmq se è legato al fatto che se ti posi su 1 deve visualizzare messaggiod a 1 a 5 etc..

puoi utilizzare il seguente algoritmo:
x = il numero della pagina;
max = x*5;
min = max - 4;
quando creerai il codice html dovrai inserire nel tag la scritta e i valori delle variabili min e max.
Sarebbe anche opportuno fare un if per verificare che il max non superi la soglia del count della tabella.

Ciro
 

Discussioni simili