Id Page

0
<?php
include("conectar.php");
$id = $_REQUEST['id'];

if ($id == "") 
{
    $id = 1;
}



$sql = mysql_query("SELECT * FROM tb_trabalhador where codigo =".$id." limit 1");

include("paginacao.php"); // Chama o arquivo que monta a paginação. ex: << anterior 1 2 3 4 5 próximo >>

echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o  conteúdo

while ($exibe = mysql_fetch_array($sql)) {
echo "<table>"; 
    echo  "<tr><td>Nome:</td>";
    echo "<td>".$exibe["Nome"]."</td></tr>";

    echo  "<tr><td>Morada:</td>"; echo "<td>";
    if ($exibe['Morada']){ echo $exibe['Morada'];}else{echo 'N/D';} echo "</td></tr>";

    echo "<tr><td>Tipo:</td>";echo"<td>";
    if($exibe['Tipo']){ echo $exibe['Tipo'];}else{echo 'N/D';} echo "</td></tr>";

    echo "<tr><td>Email:</td>"; echo "<td>";
    if($exibe['Email']){ echo $exibe['Email'];}else{echo 'N/D';} echo "</td></tr>";

    echo "<tr><td>Alvara Numero:</td>";echo"<td>";
    if($exibe['AlvaraNumero']){ echo $exibe['AlvaraNumero'];}else{echo 'N/D';} echo "   </td></tr>";

   echo "</table>";
   }
   ?>

The only problem in this code is Undefined index: id.

paginacao.php      

// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $pg > 0) { 
    echo "<a href=".$PHP_SELF."?pg=".($pg-1) ."class=pg><b>&laquo; anterior</b></a>";
} else { 
    echo "<font color=#CCCCCC>&laquo; anterior</font>";
}

// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO
for($i_pg=1;$i_pg<$quant_pg;$i_pg++) { 
    // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente
    if ($pg == ($i_pg-1)) { 
        echo "&nbsp;<span class=pgoff>[$i_pg]</span>&nbsp;";
    } else {
        $i_pg2 = $i_pg-1;
        echo "&nbsp;<a href=".$PHP_SELF."?pg=$i_pg2 class=pg><b>$i_pg</b></a>&nbsp;";
    }
}

// Verifica se esta na ultima página, se nao estiver ele libera o link para próxima
if (($pg+2) < $quant_pg) { 
    echo "<a href=".$PHP_SELF."?pg=".($pg+1)." class=pg><b>próximo &raquo;</b></a>";
} else { 
    echo "<font color=#CCCCCC>próximo &raquo;</font>";
}
   ?>

In this last code I am having difficulty relating the first to the second. And so I left an old code.

EDIT: In the first code will be to show the data and in the second pagination

    
asked by anonymous 19.02.2014 / 15:35

2 answers

2

Changing the answer since the question has been redrawn. First, this ID variable does not exist. It would be a variable for paging control. Let's call PAGE and it's passed via GET.

// Inclui a conexão
include("conectar.php");

// maxímo de itens por página
$max = 10;   

// Recebe a página 1 por default
// caso receba via GET o parâmetro page, captura ele 
// usando intval() para garantir que vai receber um valor inteiro
$page = 1;   
if(isset($_GET['page']))
{ 
    $page = intval($_GET['page']);
}

// PAGINAÇÃO INÍCIO ******************************************************/

// Para mostrar a paginação você precisa saber o TOTAL de resultados para sua busca
// Define query e executa, sempre vai obter apenas um resultado
$query = "SELECT COUNT(*) AS total FROM tabela ORDER BY campo1";
$result = mysql_query($query);
$row = mysql_fetch_array($result, MYSQL_ASSOC);

// descobri o total de páginas usando ceil() que arredonda frações pra cima
// a variavel $max é a mesma definida no exemplo anterior
$totalPages =  ceil($row['total'] / $max);   

// Agora faça o for para imprimir as páginas  
for($i=1 ; $i<=$totalPages; $i++) 
{
    // Imprime separador
    if($i>1)
        echo " | ";

    // Verifica se é a página selecionada usando $page definido no exemplo anterior
    if($i==$page) 
        echo "<b>$page</b>";
    else
        echo "<a href="lista.php?page=$page">$page</a>";
}

// PAGINAÇÃO FIM ********************************************************/

// TABELA DE RESULTADOS INICIO ******************************************/

// Define o limit usado na query
// Exemplo: Pag 1 seria: LIMIT 0, 10 (Começa do resultado 0 e retorna os 10 sequintes)
// Exemplo: Pag 2 seria: LIMIT 10, 10 (Começa do resultado 10 e retorna os 10 sequintes)
$limit = " LIMIT ". ($page-1)*$max .",". $max;

// Define a query e adciona o limit da busca
$query = "SELECT * FROM tb_trabalhador" . $limit;

// Antes você chamava de $sql, mas faz mais sentido chamar de $result
$result = mysql_query($query);

// Seu espaçamento
echo "<br><br>"; 

// [OFF]
// Em outro tópico lhe ensinei uma maneira melhor de fazer isso, pelo visto não usou.
// Parece que o caso é você arrumar um problema pontual e a gente conserta pra você.
// Estamos aqui para ajudar a trazer programadores melhores, então aproveite as dicas
// Não tenha MEDO de tentar, ESTUDE MUITO, corra atrás por você, 
// procure scripts já existentes na internet, edite-os ao seu modo.
// Essas suas dúvidas existem milhares de réplicas no stackoverflow, pt.stackoverflow,
// e em diversos foruns e site. :)

// Mantendo da forma que você fez
while ($exibe = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<table>"; 
    echo "<tr><td>Nome:</td>";
    echo "<td>".$exibe["Nome"]."</td></tr>";
    echo "<tr><td>Morada:</td>"; echo "<td>";
    if ($exibe['Morada']){ echo $exibe['Morada'];}else{echo 'N/D';} echo "</td></tr>";
    echo "<tr><td>Tipo:</td>";echo"<td>";
    if($exibe['Tipo']){ echo $exibe['Tipo'];}else{echo 'N/D';} echo "</td></tr>";
    echo "<tr><td>Email:</td>"; echo "<td>";
    if($exibe['Email']){ echo $exibe['Email'];}else{echo 'N/D';} echo "</td></tr>";
    echo "<tr><td>Alvara Numero:</td>";echo"<td>";
    if($exibe['AlvaraNumero']){ echo $exibe['AlvaraNumero'];}else{echo 'N/D';} 
    echo "</td></tr>";
    echo "</table>";
}
?>

// TABELA DE RESULTADOS FIM *********************************************/
    
19.02.2014 / 16:11
1

Good, Since I already thank the help of @ThiagoBarradas I'll leave the complete code here with the solution.

<?php
include("conectar.php");

$quantidade = 1;
$pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
$inicio = ($quantidade * $pagina)-$quantidade;  
$sql = "Select * From tb_trabalhador order by id asc LIMIT $inicio, $quantidade";
$qr = mysql_query($sql) or die (mysql_error());
 while($exibe = mysql_fetch_array($qr)){
 echo "<table>"; 
 echo  "<tr><td>Nome:</td>";
 echo "<td>".$exibe["Nome"]."</td></tr>";

 echo  "<tr><td>Morada:</td>"; echo "<td>";
 if ($exibe['Morada']){ echo $exibe['Morada'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Tipo:</td>";echo"<td>";
 if($exibe['Tipo']){ echo $exibe['Tipo'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Email:</td>"; echo "<td>";
 if($exibe['Email']){ echo $exibe['Email'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Alvara Numero:</td>";echo"<td>";
  if($exibe['AlvaraNumero']){ echo $exibe['AlvaraNumero'];}else{echo 'N/D';} echo "</td>   </tr>";

  echo "<tr><td>Alvara Validade:</td>";echo"<td>";
  if($exibe['AlvaraValidade']){ echo $exibe['AlvaraValidade'];}else{echo 'N/D';} echo "</td></tr>";

  echo "<tr><td>Alvara Anexo:</td>";echo"<td>";
  echo '<a href="download_anexo.php?AlvarAnexo=' . $exibe['AlvaraNumero']. '">Abrir anexo</a>';

  echo "<tr><td>Seguro de Acidente Numero:</td>";echo"<td>";
  if($exibe['AcidenteNumero']){ echo $exibe['AcidenteNumero'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Seguro de Acidente Validade:</td>";echo"<td>";
 if($exibe['AcidenteValidade']){ echo $exibe['AcidenteValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Seguro de Responsabilidade Civil Numero:</td>";echo"<td>";
 if($exibe['SeguroNumero']){ echo $exibe['SeguroNumero'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Seguro de Responsabilidade Civil Validade:</td>";echo"<td>";
 if($exibe['SeguroValidade']){ echo $exibe['SeguroValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Declaração de Não Divida as Financas Validade:</td>";echo"<td>";
 if($exibe['FinancasValidade']){ echo $exibe['FinancasValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Declaração de Não Divida a Segurança Social Validade</td>";echo"<td>";
 if($exibe['SocialValidade']){ echo $exibe['SocialValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Declaração de Remuneração de Validade:</td>";echo"<td>";
 if($exibe['RemuneracaoValidade']){ echo $exibe['RemuneracaoValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Credencial Entidade Instalador Numero:</td>";echo"<td>";
 if($exibe['InstaladorNumero']){ echo $exibe['InstaladorNumero'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Credencial Entidade Instalador Validade:</td>";echo"<td>";
 if($exibe['InstaladorValidade']){ echo $exibe['InstaladorValidade'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Credencial Entidade Montadora Numero:</td>";echo"<td>";
 if($exibe['MontadorNumero']){ echo $exibe['MontadorNumero'];}else{echo 'N/D';} echo "</td></tr>";

 echo "<tr><td>Credencial Entidade Montadora Validade:</td>";echo"<td>";
 if($exibe['MontadorValidade']){ echo $exibe['MontadorValidade'];}else{echo 'N/D';} echo "</td></tr>";

echo "</table>";
 } 

  $sqltotal = "SELECT id FROM tb_trabalhador";
  $qrtotal = mysql_query($sqltotal) or die (mysql_error());
  $numtotal = mysql_num_rows($qrtotal);
  $totalpagina = ceil($numtotal/$quantidade);

  echo '<a href="?pagina=1">Primeira página</a>';

   for($i = 1; $i <= $totalpagina; $i++){
  if($i == $pagina)
   echo $i;
else
  echo "<a href=\"?pagina=$i\">$i</a>"; 
  }

 echo '<a href=\"?pagina=$totalPagina\">Ultima página</a>';
  ?>    
    
20.02.2014 / 11:49