Innanzitutto ciao a tutti dato che sono nuovo,
mi sto avvicinando alla programmazione da pochissimo tempo, ho qualche anno di esperienza in altri ambiti del web ma la programmazione è sempre stata un tabù x me. Ho seguito di recente un corso base di PHP ed ora sto provando grazie anche alle guide sul web di capirci qualcosa di più. Attualmente ho un problema con la paginazione. Nel senso che il codice che ho trovato e adeguatamente risettato di per sè funziona, tuttavia nel momento in cui vado ad includerlo nella pagina (con grafica e 1 ciclo switch) si mangia via i records. Cioè mi appaiono i primi dieci, poi se clicco su pagina successiva e/o precedente mi appaiono delle belle schermate bianche.
ora vi incollo le 2 pagine (clienti.php e paginazione1.php)... se riuscite anche a spiegarmi cosa nn va oltre a correggermi il codice mi fareste un favorone
(chiedo scusa x la lunghezza del codice) ovviamente ho tranciato la parte della form e tutti i vari casi dello switch...
clienti.php
Codice PHP:
$txt=$_POST['search']; $src=$_POST['cerca2'];
$count = mysql_query("SELECT COUNT(id) FROM clienti");
$res_count = mysql_fetch_row($count); $tot_records = $res_count[0];
$per_page = 10;
$tot_pages = ceil($tot_records / $per_page);
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($current_page - 1) * $per_page;
switch ($src) {
case vuoto:
echo("<span class='txt'>Seleziona un'opzione di ricerca</span>");
break;
case nome:
$leggi=mysql_query("SELECT * FROM clienti WHERE nome LIKE '$txt%' LIMIT $primo, $per_page");
echo ("<table width='auto' border='1' cellpadding='2'>");
echo("<tr><td width='auto'>[b]NOME[/b]</td>
<td width='auto'>[b]INDIRIZZO[/b]</td>
<td width='auto'>[b]TELEFONO[/b]</td>
<td width='auto'>[b]FAX[/b]</td>
<td width='auto'>[b]EMAIL[/b]</td>
<td width='auto' align='center'>[b]SCHEDA[/b]</td>
</tr>");
while($leggi2=mysql_fetch_array($leggi))
{echo("<form action='pg_cliente.php' method='GET'>
<tr><input type='hidden' name='id' value='$id'/>
<td width='auto'>$leggi2[nome]</td>
<td width='auto'>$leggi2[indirizzo]</td>
<td width='auto'>$leggi2[tel]</td>
<td width='auto'>$leggi2[fax]</td>
<td width='auto'>$leggi2[email]</td>
<td align='center'><input type='submit' value='Vedi' /></td></tr></form>");}
echo("</table>");
include("paginazione1.php");
echo ("<table><tr><td height='50 valign='bottom' align='center'>$paginazione</td></tr></table>");
break;
case indirizzo: ecc...
paginazione1.php
Codice PHP:
if($current_page == 1) {
$precedente = "<< precedente";
} else {
$previous_page = ($current_page - 1);
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\"><< precedente</a>";
}
if($current_page == $tot_pages) {
$successiva = "successiva >>";
} else {
$next_page = ($current_page + 1);
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
$paginazione = "$precedente $successiva";