PHP mysql Pagination

Hello, i’m new around here.

I have a query, and when I click on the Next button to show my other results.

When I 1º do the display, it shows 6 results that are correct and after I do next, no error are displayed but the displayed data go from 6 to 7 :S

Can I get a help on this please =S rly impp…
[php]<?php

$host = “localhost”;
$username = “root”;
$senha= “”;
$banco_dados = “*******”;
$tabela = “artigos”;
$numero_links = “4”;
$total_reg = “2”;

if(isset($_POST[“Familia”])){
$search = mysql_escape_string($_POST[“Familia”]);
} else {
$search = “”;
}

if(!$pagina) {
$pc = “1”;
} else {
$pc = $pagina;
}

$intervalo = $numero_links;
$inicio = $pc-1;
$inicio = $inicio*$total_reg;
mysql_connect($host,$username,$senha);
mysql_select_db($banco_dados);

$sql = mysql_query(“SELECT * FROM $tabela where Familia LIKE '%”.$search."%’ “);
$tr = mysql_num_rows($sql);
$sql2 = mysql_query(“SELECT * FROM $tabela where Familia LIKE '%”.$search.”%’ LIMIT $inicio,$total_reg");
$tp = ceil($tr/$total_reg);

echo “”;
echo “Página $pc de $tp
Total de registros: $tr

”;
echo “”;
echo “


”;
while($dados=mysql_fetch_array($sql2)) {
$id = $dados[“Nome”];
$nome = $dados[“CodigoBarras”];
echo “$id - $nome
\n”;
}

$aux = $tp/$intervalo;
$aux1 = $pc/$intervalo;
$pi = $aux1 * $intervalo;
if ($pi == “0”) {
$pi = “1”;
}
$pf = $pi + $intervalo -1;
$anterior = $pi-$intervalo;
if($pc<=$intervalo) {
$anterior = 1;
}
$aux2 = $pi + 1;
if($pi>1) {
$aux = $pi - 1;
$aux2 = $pi + 1;
echo “


”;
echo " <<<a href=’{$_SERVER[‘PHP_SELF’]}?pagina=1’>Primeiro ";
echo "< Anterior  ";
}
else
{
echo “”;
echo "<< Primeiro  ";
echo “”;
echo “”;
echo "<< Anterior   ";
echo “”;
}

for ($pi;$pi<$pf;$pi++)
{
if($pi<=$tp) {
if($pc==$pi) {
echo “”;
echo “[” . $pi . "] ";
echo “
”;
} else {
echo “” . $pi . " ";
}
}
}

if($pc != $tp){
echo “”;
echo "    Próximo >";
echo " <a href=’{$_SERVER[‘PHP_SELF’]}?pagina=$tp’>Ultimo “;
echo “
”;
}
else
{
echo “”;
echo "    Próximo >>”;
echo “”;
echo “”;
echo "    Ultimo >>";
echo “”;
}
?>
[/php]

Sponsor our Newsletter | Privacy Policy | Terms of Service