- Home
- Categorie
- Coding e Sistemistica
- PHP
- nuova impaginazione
-
nuova impaginazione
Carissimi sono riuscito a tirare fuori dal mio data base i dati di un archivo, funziona perfettamente o quasi: quando vado al primo record mi compare la parolina Next dopo l'11 record quindi ottengo 1-2-3-4-5-6-7-8-9-10-11 Next solo al primo mi da un errore alla riga:Notice: Undefined variable: ultimaPagina in C:\Programmi\EasyPHP 2.0b1\www\test.php on line 71 potreste aiutarmi ad eliminare l'errore io non rieco Grazie Biagio
<?php
$db_username = 'root';
$db_password = '';
$db_host = 'localhost';$link = mysql_connect("$db_host", "$db_username","$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('righi1') or die("Errore apertura database: " . mysql_error());/* Numero della pagina attuale */
$page = (!isset($_GET['page']))? 1 : $_GET['page'];
$prev = ($page - 1);
$next = ($page + 1);/Setto il numero massimo di record per pagina /
$max_results = 1;
/ Mi calcolo l'offset /
$from = (($page * $max_results) - $max_results);
/eseguo la query per recuperare il numero di dati presente nel mio db/
$result = mysql_query("select * FROM notizieprog ORDER BY data DESC");
$total_results = mysql_num_rows($result);
$total_pages = ceil($total_results / $max_results);
$pagination = '';
/ Creo il link "PREV" /
if($page > 1)
{
$pagination .="<a href=test.php?page=".$prev."><<</a>";
}
/Eseguo il ciclo per visualizzare tutte le pagine che mi servono. /
/for($i = 1; $i <= $total_pages; $i++)/
for($i = $page; $i <= ($page + 10); $i++)
{
if ($i < $total_pages)
{
if(($page) == $i)
{
$pagination .= $i;
}
else
{
$pagination .= "<a href=test.php?page=".$i.">$i</a>";
}
}
else
{
$ultimaPagina = "X";
}
}/END FOR/
/ Stampo il prossimo link /
/ if($page < $total_pages)/
if ($ultimaPagina <> "X")//questa è la riga dove mi mada per l'errore**
{
$pagination .= "<a href=test.php?page=".$next.">Next</a>";
}
/eseguo la query con i parametri $from e $total_results per la paginazione/
$result=mysql_query("select * FROM notizieprog ORDER BY data DESC LIMIT $from, $max_results ");
while ($i = mysql_fetch_array($result))
{
//echo"".$i['data']."-".$i['news']."<br />";
echo "<TABLE border='1' width=100% align=center cellpadding=0 cellspacing=0><tr>";
echo "<td bgcolor='dfdfdf' > <font face='arial,verdana,helvetica' color='#000000' size='4'><td bgcolor='dfdfdf' width='15%'> ".$i['data']." </td><td bgcolor='dfdfdf' width='70%'>".$i['news']." </td><td bgcolor='dfdfdf' width='15%'> <a target='_blank' href='".$i['percorso']."'>apri</a></td></font></td>";
}
?>
</table>
<?php
echo "<table border='1' width=100% align=center cellpadding=0 cellspacing=0><tr><td align='center' bgcolor='ffffdd' > <font face='arial,verdana,helvetica' color='#000088' size='5'>".$pagination."</font></td></tr></table><br /><br />";
?>
</body>
</html>
-
La variabile $ultimaPagina non è definita perchè si trova all'interno di un condizionale if.
Per risolvere il problema inserisci $ultimaPagina = ""; all'inizio dello script.Ciao!
-
GGGRAZIE
ho inserito la variabile** $ultimaPagina = "";** all'inizio subito dopo il :
(spero di non aver sbagliato)
/* Numero della pagina attuale */
$page = (!isset($_GET['page']))? 1 : $_GET['page'];
$prev = ($page - 1);
$next = ($page + 1);
$ultimaPagina = "";
segue....sembra che funzioni
Veramente Grazie Biagio
-
Va bene come hai fatto.
Ciao!
-
Ciao guardanto i numeri delle pagine, specialmente quando queste sono tante, mi accorgo che vengono inserite uno dietro l'altro es: 1234567891011Next
si potrebbero distanziare in 1 2 3 4 5 6 7 Next
oppure Prec 2-3-4-5-6- Next dove bisognerebbe agire visto che la variabile ".$pagination." è tutta di un pezzo?
Puoi indicarmi come fare?
Ciao Biagio
-
prova a modificare questa porzione di codice:
$pagination .= "<a href=test.php?page=".$i.">$i</a>";
}
}
else
{
$ultimaPagina = "X";
}
}/END FOR/
/* Stampo il prossimo link /
/ if($page < $total_pages)*/
if ($ultimaPagina <> "X")//questa è la riga dove mi mada per** l'errore**
{
$pagination .= "<a href=test.php?page=".$next.">Next</a>";
}in
$pagination .= "<a href=test.php?page=".$i."> $i </a>";
}
}
else
{
$ultimaPagina = "X";
}
}/END FOR/
/* Stampo il prossimo link /
/ if($page < $total_pages)*/
if ($ultimaPagina <> "X")//questa è la riga dove mi mada per** l'errore**
{
$pagination .= "<a href=test.php?page=".$next."> Next</a>";
}