Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, sou iniciante e acho que estou com um problema besta mas que não consigo solucionar. criei um form de consulta onde seleciono o tipo de consulta em um menu/list "tipobusca" e descrevo o termo em um textfield "termobusca" como podemos observar abaixo:
form.html
<form action="relatorio_consulta.php" method="post" >
<p><strong>Escolha uma opção:</strong><br />
<select name="tipobusca">
<option selected="selected"></option>
<option value="nome">Nome</option>
<option value="matricula">Matricula</option>
<option value="identidade">Identidade</option>
<option value="cpf">CPF</option>
</select>
</p>
<p> <strong>Digite o termo da consulta:</strong><br />
<input name="termobusca" type="text" class="textfield" size="31" />
</p>
<p></p>
<p align="justify"><input name="consultar" type="submit" class="button" id="consultar" value="Consultar" /><input type="reset" class="button" value="Limpar" /></p>
</form>
Os dados são eviados para relatorio_consulta.php como podemos também observar a seguir:
relatorio_consulta.php
<?
// Fazemos o include do arquivo com as config do banco de dados
include "mysqlconfig.php";
// Executa a cláusula SQL
include "mysqllistar.php";
//Executa a consulta
$tipobusca = $_POST['tipobusca'];
$termobusca = trim($_POST['termobusca']);
if (!$tipobusca || !$termobusca)
{
echo 'Você não preencheu todos os campos. Por favor tente novamente.';
exit;
}
$tipobusca = addslashes($tipobusca);
$termobusca = addslashes($termobusca);
$sql = "select * from tb_info where ".$tipobusca." like '%".$termobusca."%' ORDER BY data_sys DESC";
$resultado = mysqllistar($conect,$sql);
//#Número de registros paginados por página
$registros_pagina = "1";
//#Resgatamos a página que estiver sendo acessada pela paginação
$lista = (int)$_GET["lista"];
//#Se for a página inicial da consulta, a variável $lista será nula
if(!$lista) {
$pc = "1";
}
//#Caso contrário, declaramos o valor atual da variável $lista
else {
$pc = $lista;
}
$inicio = $pc - 1;
$inicio = $inicio * $registros_pagina;
//#Limitamos a nossa consulta do MySQL para exibir apenas a quantidade máxima configurada mais acima
$resultado = mysql_query("$sql LIMIT $inicio, $registros_pagina");
//#Vamos agora consultar a quantidade total de registros
$todos = mysql_query("$sql");
//#Armazenamos a quantidade total de registros
$tr = mysql_num_rows($todos);
//#Armazenamos o resultado da quantidade total de registros pela quantidade de registros por página
$tp = $tr / $registros_pagina;
$cont = 0;
// Exibe o resultado da nossa consulta
#Se não houverem registros a se exibir, é acusado o retorno abaixo
if(mysql_num_rows($resultado) < 1) {
echo "Nenhum registro encontrado";
}
//#Caso contrário é exibido o resultado da consulta
else {
//#Exibimos o resultado dos registros encontrados na consulta
while($row = mysql_fetch_array($resultado)) {
echo "<p align=center>Cadastro Aluno</p>";
echo "<p align=justify> </p>";
echo "<p align=justify>Nome: ".$row['nome']."</p>";
echo "<p align=justify>Matrícula: ".$row['matricula']."</p>";
echo "<p align=justify>Identidade: ".$row['identidade']."</p>";
echo "<p align=justify>CPF: ".$row['cpf']."</p>";
echo "<p align=justify>Nascimento: ".$row['nascimento']."</p>";
echo "<p align=justify>Curso: ".$row['curso']."</p>";
echo "<p align=justify>Período: ".$row['periodo']."</p>";
echo "<p align=justify>Endereço: ".$row['endereco']."</p>";
$cont = $cont + 1;
}
?>
</p>
<p align="center">
<?
//#E por fim montamos os links da paginação
$tp = ceil($tp);
if($pc>1) {
$anterior = $pc - 1;
echo "<a href=\"?lista=$anterior\">[Anterior]</a> ";
}
for($i=$pc-5;$i<$pc;$i++) {
if($i<=0) {
}
else {
echo "<a href=\"?lista=$i\">";
if($i=="$pc") {
echo "<b>[$i]</b>";
}
else {
echo "[$i]";
}
echo "</a> ";
}
}
for($i=$pc;$i<=$pc+5;$i++) {
if($i==$tp) {
echo "<a href=\"?lista=$i\">";
if($i=="$pc") {
echo "<b>[$i]</b>";
}
else {
echo "[$i]";
}
echo "</a> ";
break;
}
else {
echo "<a href=\"?lista=$i\">";
if($i=="$pc") {
echo "<b>[$i]</b>";
}
else {
echo "[$i]";
}
echo "</a> ";
if($i==$pc+5 && $tp>$pc+5) {
echo " ... <a href=\"?lista=$tp\">[$tp]</a>";
}
}
}
if($pc<$tp) {
$proxima = $pc + 1;
echo " <a href=\"?lista=$proxima\">[Próxima]</a>";
}
}
?>
Bom, até aí tudo bem, porém quando eu clico no link para passar para a página seguinte ele retorna a menssagem: Você não preencheu todos os campos. Por favor tente novamente. Como faço para que o valor de $_POST transforme-se em um valor fixo? Já fiz um teste com SELECT * tb_info e a paginação funcionou perfeitamente. O problema tá na condição if (!$tipobusca || !$termobusca)... Por favor, alguém pode me ajudar? Fico muito agradecido pois já quebrei a cabeça e nào consegui resolver isto... Obrigado!Carregando comentários...