Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda com paginacao


wmo.btu

Pergunta

validaGuia.php

if(($comboEspecialidade == 1) and ($comboCidade == 1) and ($txtMedico == ""))

{

$sql1 = "SELECT m.idMedico, m.nome, m.endereco, m.bairro, m.cep, m.telefone, e.nomeEspecialidade, c.nomeCidade FROM medico as m, especialidade as e, cidade as c WHERE m.idEspecialidade = e.idEspecialidade AND m.idCidade = c.idCidade";

$query = mysql_query($sql1);

$y = 0;

while($num = mysql_fetch_array($query))

{

$_SESSION["retCod"][$y] = $num["idMedico"];

$_SESSION["retNome"][$y] = $num["nome"];

$_SESSION["retNomeEspecialidade"][$y] = $num['nomeEspecialidade'];

$_SESSION["retEndereco"][$y] = $num['endereco'];

$_SESSION["retBairro"][$y] = $num['bairro'];

$_SESSION["retNomeCidade"][$y] = $num['nomeCidade'];

$_SESSION["retCep"][$y] = $num['cep'];

$_SESSION["retTelefone"][$y] = $num['telefone'];

$y++;

}

$_SESSION["cont"] = $y;

//echo = $_SESSION["retNome"][$y];

header("Location: guia.php?comboPlano=$comboPlano&comboEspecialidade=$comboEspecialidade&comboCidade=$comboCidade&txtMedico=$txtMedico&btnEnviar=Enviar");

}

guia.php

<?php

if(isset($_GET["btnEnviar"]))

{

$x = 0;

while($x < $_SESSION["cont"])

{

$cod = $_SESSION["retCod"][$x];

?>

<table width=457" border="0" cellspacing="2" cellpadding="2">

<tr>

<td width="101">Nome:</td>

<td width="272"><?php echo $_SESSION["retNome][$x];?></td>

<td width=64"> </td>

</tr>

<tr>

<td>Especialidade:</td>

<td><?php echo $_SESSION["retNomeEspecialidade][$x]; ?></td>

<td> </td>

</tr>

<tr>

<td>Endereço:</td>

<td><?php echo $_SESSION["retEndereco"][$x]; ?></td>

<td><a href=mapa.php?cod=<?php echo $cod; ?>"><img src="img/mapa.png"></a></td>

</tr>

<tr>

<td>Bairro:</td>

<td><?php echo $_SESSION["retBairro][$x];?></td>

<td> </td>

</tr>

<tr>

<td>Cidade:</td>

<td><?php echo $_SESSION["retNomeCidade"][$x]; ?></td>

<td> </td>

</tr>

<tr>

<td>Cep:</td>

<td><?php echo $_SESSION["retCep"][$x]; ?></td>

<td> </td>

</tr>

<tr>

<td>Telefone</td>

<td><?php echo $_SESSION["retTelefone"][$x];?></td>

<td> </td>

</tr>

<tr>

<td> </td>

<td> </td>

<td> </td>

</tr>

</table>

<?php

$x++;

}

}

?>

pessoal gostaria de colocar paginação na pagina guia.php, os dados são enviados para a página validaGuia.php e são retornados para a pagina guia.php onde são exibidos, como páginar?

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Galera meu código para paginação está assim porém não está paginando corretamente, se alguém puder ajudar, acredito que falte algum detalhe q está passando.

Valeu

<?php

session_start();

$con = mysql_connect("localhost", "root", "") or dir ("Erro ao conectar no Banco");

$base = mysql_select_db("guia",$con);

$comboPlano = $_GET['comboPlano'];

$comboEspecialidade = $_GET['comboEspecialidade'];

$comboCidade = $_GET['comboCidade'];

$txtMedico = $_GET['txtMedico'];

if(($comboEspecialidade == 1) and ($comboCidade == 1) and ($txtMedico == ""))

{

$numreg = 1; // Quantos registros por página vai ser mostrado

if (!isset($pg))

{

$pg = 0;

}

else

{

$pg = $_GET['pg'];

}

$inicial = $pg * $numreg;

$sql1 = "SELECT m.idMedico, m.nome, m.endereco, m.bairro, m.cep, m.telefone, e.nomeEspecialidade, c.nomeCidade FROM medico as m, especialidade as e, cidade as c WHERE m.idEspecialidade = e.idEspecialidade AND m.idCidade = c.idCidade LIMIT $inicial, $numreg";

$query = mysql_query($sql1);

$quantreg1 = mysql_num_rows($query);

if ($quantreg1 > 0)

{

$quantreg1 -= 1;

}

// Serve para contar quantos registros você tem na seua tabela para fazer a paginação

$sql_conta = mysql_query("SELECT m.idMedico, m.nome, m.endereco, m.bairro, m.cep, m.telefone, e.nomeEspecialidade, c.nomeCidade FROM medico as m, especialidade as e, cidade as c WHERE m.idEspecialidade = e.idEspecialidade AND m.idCidade = c.idCidade");

$quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

$_SESSION["quantreg"] = $quantreg;

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

while($num = mysql_fetch_array($sql_conta)) // galera o problema ta aqui, pois quando coloco $sql_conta, ele trás todos o meus registro e não divide por páginas, agora quando coloco $query ele coloca apenas 1 registro pois é o limite dado no SQL, porém os outros registros não aparecem na paginação.

{

echo $num["nome"];

echo $num["nomeEspecialidade"];

}

include("paginacao.php");

}

?>

paginacao.php

<?php

$numreg = 1;

$quantreg = $_SESSION["quantreg"];

$quant_pg = ceil($quantreg/$numreg);

$quant_pg++;

if(isset($_GET["btnEnviar"]))

{

$pg = $_GET["pg"];

}

// Verifica se esta na primeira página, se não estiver ele libera o link para anterior

if(isset($_GET["btnEnviar"]))

{

if ( $pg > 0)

{

echo "<a href=.$_SERVER['PHP_SELF] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=".($pg-1) ." class=pg><b>« anterior</b></a>";

}

else

{

echo "<font color=#CCCCCC>« anterior</font>";

}

// Aqui começa a alteração

// faz o controle da quantidade de paginas irá mostrar em números na paginação

if (($pg - 3) < 1 )

{

$ant = 1;

}

else

{

$ant = $pg - 3;

}

if (($pg + 6) > $quant_pg )

{

$pos = $quant_pg;

}

else

{

$pos = $pg + 6;

}

// Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO

for($i_pg=$ant;$i_pg < $pos;$i_pg++)

{

// Aqui termina a alteração

// 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 " <span class=pgoff>[$i_pg]</span> ";

}

else

{

$i_pg2 = $i_pg-1;

echo " <a href=.$_SERVER['PHP_SELF] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=$i_pg2 class=pg><b>$i_pg</b></a> ";

}

}

// Verifica se esta na ultima página, se não estiver ele libera o link para próxima

if (($pg+2) < $quant_pg)

{

echo "<a href=".$_SERVER['PHP_SELF'] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=".($pg+1)." class=pg><b>proximo »</b></a>";

}

else

{

echo "<font color=#CCCCCC>proximo »</font>";

}

}

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...