Jump to content

[Resolvido] Problema de paginação de uma consulta


Zeutrex
 Share

Recommended Posts

Boas!

Tenho uma consulta que faço dependendo de um menu de radio buttons, so que nao está a funcionar como desejo..

Ele faz a lista da primeira página, mas na hiperligação para a segunda página da paginação "proxima ->" ele apenas mostra o cabeçalho da tabela..

Nota: Estou a enviar os 'recursos' da pesquisa numa outra pagina..

A pagina de recursos para a pesquisa

tabs-1.php

<form name="form2" method='POST' action='proc_pedidos.php'>
					<br><br><br><br>
					<input type="button" onclick="myFunction()" value="Procurar">
 <span id="demo" style="visibility:hidden;">
	<input type='radio' name='radio1' value='id'/>ID
	<input type='radio' name='radio1' value='utilizador' id='utilizadores'/>Utilizador
	<input type='radio' name='radio1' value='depart' id='departamento' />Departamento
	<input type='radio' name='radio1' value='data'/>Data
	<br>
	<input type='text' id='procura' name='procura'>
	<input type='submit' value='Ok'>
 <span>
				</form>

Onde aparece os resultados

proc_pedidos.php

$procura=$_POST['procura'];
$radio=$_POST['radio1'];
//echo $radio;
echo $procura;
if($radio=='id')
{
//echo $radio;
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where idTPedidos = '$procura' order by data DESC";
}else if($radio=='utilizador')
{
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where TUnome = '$procura' order by data DESC";
}else if($radio=='depart')
{
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where Departamento = '$procura' order by data DESC";
}
$total_reg = '1';

$pagina = $_GET['pagina'];
if(!$pagina){
$pc = '1';
}else {
$pc = $pagina;
}
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos);
$tp = $tr / $total_reg;

 while($dados=mysql_fetch_array($limite))
{
echo '<tr class="trr"><td>'.$dados['idTPedidos'].'</td><td>'.$dados['TUnome'].'</td><td>'.$dados['Departamento'].'</td><td>'. $dados['Assunto'] .'</td><td>'.$dados['Data'].'</td><td><a href="Editar_pedidos.php?edit='.$dados['idTPedidos'].'">Editar</a></td></tr>';
}
$anterior = $pc -1;
$proximo = $pc +1;
if($pc>1){
echo "<a href='?pagina=$anterior'><- Anterior</a>";
}
if($pc<$tp){
echo "|";
echo "<a href='?pagina=$proximo'>Proxima -></a>";
}
Edited by Zeutrex
Link to comment
Share on other sites

Quando envio os dados da procura vai para o proc_pedidos.php (mostra a primeira linha da consulta, pois estou a mostrar apenas 1 ($total_reg=1) por página)

Quando clico em proximo:

proc_pedidos.php?pagina=2 (nao mostra nada)

Quando clico em anterior:

(estando na proc_pedidos.php?pagina=2) vai para proc_pedidos.php?pagina=1 (nao mostra nada)

Edited by Zeutrex
Link to comment
Share on other sites

é isso mesmo! 😄

Consegui ! Ehehehe

Ficou assim:

<?php
$procura = $_GET['procura'];
$radio = $_GET['radio1'];
if($radio=='id')
{
//echo $radio;
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where idTPedidos = '$procura' order by data DESC";
}else if($radio=='utilizador')
{
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where TUnome = '$procura' order by data DESC";
}else if($radio=='depart')
{
$busca="select idTPedidos,TUnome,Departamento,Assunto,Data from TPedidos where Departamento = '$procura' order by data DESC";
}
$total_reg = '10';
$pagina = $_GET['pagina'];
if(!$pagina){
$pc = '1';
}else {
$pc = $pagina;
}
$inicio = $pc - 1;
$inicio = $inicio * $total_reg;
$limite = mysql_query("$busca LIMIT $inicio,$total_reg");
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos);
$tp = $tr / $total_reg;

 while($dados=mysql_fetch_array($limite))
{
echo '<tr class="trr"><td>'.$dados['idTPedidos'].'</td><td>'.$dados['TUnome'].'</td><td>'.$dados['Departamento'].'</td><td>'. $dados['Assunto'] .'</td><td>'.$dados['Data'].'</td><td><a href="Editar_pedidos.php?edit='.$dados['idTPedidos'].'">Editar</a></td></tr>';
}
$anterior = $pc -1;
$proximo = $pc +1;
if($pc>1){
echo "<a href='?pagina=$anterior&procura=$procura&radio1=$radio'><- Anterior</a>";
}
if($pc<$tp){
echo "|";
echo "<a href='?pagina=$proximo&procura=$procura&radio1=$radio'>Proxima -></a>";
}

Obrigado, pela dica! 🙂

  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.