Boa Tarde..
Estou desenvolvendo uma aplicação, e agora me bati com um problema que não estou conseguindo resolver.
é o seguinte: tenho uma página que será mostrado todas as pessoas cadastradas no sistema, a página mostrara as pessoas em blocos montados pelo while vindas do banco de dados.
o Código:
visualiza.php
<?php
require('conecta.php');//verifica a página atual caso seja informada na URL, senão atribui como 1ª página
$pagina_atual =(isset($_GET['pagina']))? $_GET['pagina']:1;//seleciona todos os itens da tabela
$cmd ="SELECT id, nome, celular, foto, email
FROM cadastro";
$cadastros = mysql_query($cmd);//conta o total de itens
$total = mysql_num_rows($cadastros);//seta a quantidade de itens por página, neste caso, 10 itens
$registros =15;//calcula o número de páginas arredondando o resultado para cima
$paginas = ceil($total/$registros);//variavel para calcular o início da visualização com base na página atual
$inicio =($registros*$pagina_atual)-$registros;//seleciona os itens por página
$cmd ="SELECT
id, nome, celular, foto, email, tipo, idade, cidade, estado
FROM
cadastro
WHERE
nome LIKE '$filtro%' OR tipo like '$filtro%' or cidade like '$filtro%'
ORDER BY $order ASC
LIMIT $inicio,$registros";
$cadastros = mysql_query($cmd);
$total = mysql_num_rows($cadastros);//exibe os produtos selecionadoswhile($row = mysql_fetch_array($cadastros)){
$id = $row['id'];
$nome = $row['nome'];
$foto = $row['foto'];
$celular = $row['celular'];
$email = $row['email'];
$tipo = $row['tipo'];
$idade = $row['idade'];
$cidade = $row['cidade'];
$estado = $row['estado'];//BLOCO CONTENDO UM PERFIL
echo "<div class='vitrine col-xs-12'>
<div class='foto col-xs-3'>
<img alt='foto do perfil' title='foto perfil $nome' src='$foto' class='img-thumbnail'/>
</div>
<div class='col-xs-1'></div>
<div class='wrapp'>
<div class='infos col-xs-5'>
<div class='col-sm-12'>
<label class='nome'> $nome</label>
</div>
<div class='col-sm-12'>
<label>E-mail:</label> <span> $email</span>
</div>
<div class='col-sm-12'>
<label>Celular:</label> <span>$celular</span>
</div>
<div class='hidden'>
<input type='text' name='id' value='$id'>
</div>
<br/>
<div class='col-sm-12'>
<label>Idade:</label> <span class=''>$idade</span>
</div>
<div class='col-sm-12'>
<label>Cidade: </label> <span class=''>$cidade - $estado</span>
</div>
<div class='col-sm-12'>
<label>Classificação:</label> <span class='tipo'>$tipo</span>
</div>
</div>
</div>
<div class='col-sm-3 centraliza'>
<a class='btn btn-lg button' href='perfil.php?id=$id'><span class='icon-search'></span> Ver Perfil </a>
</div>
</div>
<div class='clearfix'></div>";}//Exibe a paginação
echo "<div class='paginacao col-xs-12 row'>";
echo"<div class='centro'>";//Primeira página e Anteriorif($pagina_atual ==1){
echo"<a class='btn btn-default ativo disabled'>Primeira</a>";
echo"<a class='btn btn-default ativo disabled'>Anterior</a>";}else{
echo"<a href='?pagina=1&filtro=$filtro&order=$order' class='btn btn-default'>Primeira</a>";
echo"<a href='?pagina=".($pagina_atual-1)."&filtro=$filtro&order=$order' class='btn btn-default'>Anterior</a>";}if($pagina_atual>=5){
echo" . . . ";}// 3 Páginas antesforeach(array_reverse(range($pagina_atual-1, $pagina_atual-3))as $pagina){if($pagina >0){
echo "<a href='?pagina=$pagina&filtro=$filtro&order=$order' class='btn btn-default'>$pagina</a>";}}// Página Atual
echo"<a class='btn btn-default ativo'>$pagina_atual</a>";//3 Páginas depois da Página atualforeach( range($pagina_atual+1, $pagina_atual+3)as $pagina){if($pagina <($paginas +1)){
echo"<a href='?pagina=$pagina&filtro=$filtro&order=$order' class='btn btn-default'>$pagina</a>";}}
$limitePaginas = $paginas-4;if($pagina_atual<=$limitePaginas){
echo" . . . ";}//'Próxima Página' e 'Ultima Página'if($pagina_atual == $paginas){
echo"<a class='btn btn-default ativo disabled'>Próxima</a>";
echo"<a class='btn btn-default ativo disabled'>Última</a>";}else{
echo"<a href='?pagina=".($pagina_atual+1)."&filtro=$filtro&order=$order' class='btn btn-default'>Próxima</a>";
echo"<a href='?pagina=".($paginas)."&filtro=$filtro&order=$order' class='btn btn-default'>Última</a>";}
echo"</div>";
echo "</div>";?>
nessa pagina tenho botoes que fazem a ordenacao dos resultados por NOME, IDADE, CIDADE, ESTADO, TIPO DE PERFIL (a,b,c ou d)
o código dos botões de ordenação..
<divclass="col-lg-2">
<a href="?order=nome&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderNome"><imgsrc="img/sort14.png">Ordenar por Nome</span></a></div><divclass="col-lg-2">
<a href="?order=tipo&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderTipo"><imgsrc="img/sort14.png">Ordenar por Tipo</span></a></div><divclass="col-lg-2">
<a href="?order=idade&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderIdade"><imgsrc="img/sort14.png">Ordenar por Idade</span></a></div><divclass="col-lg-2">
<a href="?order=cidade&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderCidade"><imgsrc="img/sort14.png">Ordenar por Cidade</span></a></div><divclass="col-lg-2">
<a href="?order=estado&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderEstado"><imgsrc="img/sort14.png">Ordenar por Estado</span></a></div>
Passando via get a 'order' para a mesma página..
no inicio contem:
<?php
//Foi informado a ordenação?
$order =(isset($_GET['order']))? $_GET['order']:'id';//Foi informado o filtro?
$filtro =(isset($_GET['filtro']))? $_GET['filtro']:'';?>
E depois desse mega texto, minha pequena dúvida..
Como faço para ordenar por mais de um botão?
Quero ordenar por idade e por tipo, por exemplo..
mas ele ordena por Idade OU por titulo. (devido ao método get que usei para passar a informacao de ordenacao)..
Se alguém puder me ajudar.. :D
Obrigado...
Página inteira:
<?php //Foi informado a ordenação?
$order =(isset($_GET['order']))? $_GET['order']:'id';//Foi informado o filtro?
$filtro =(isset($_GET['filtro']))? $_GET['filtro']:'';?><!DOCTYPE html><htmllang="pt"><head><metacharset="utf-8"><title>Visualizar cadastros</title><metaname="description"content="Visualizar cadastros do casting - Promova ideias"><metaname="author"content="Wilterson Garcia"><!-- CSS --><linkrel="stylesheet"href="css/vitrine.css"/><linkrel="stylesheet"href="css/bootstrap.css"/><!-- JS --><scripttype="text/javascript"src="js/jquery.min.js"></script><script>
$(function(){
$('.pesquisar').on("click",function(){
$('.searchbar').toggleClass('hidden');});});</script></head><body><divclass="page"><h1class="text-center titulo">Pessoas Cadastradas</h1><divclass="container"><divclass="primeiraLinha"><divclass="col-lg-2">
<a href="?order=nome&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderNome"><imgsrc="img/sort14.png">Ordenar por Nome</span></a></div><divclass="col-lg-2">
<a href="?order=tipo&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderTipo"><imgsrc="img/sort14.png">Ordenar por Tipo</span></a></div><divclass="col-lg-2">
<a href="?order=idade&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderIdade"><imgsrc="img/sort14.png">Ordenar por Idade</span></a></div><divclass="col-lg-2">
<a href="?order=cidade&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderCidade"><imgsrc="img/sort14.png">Ordenar por Cidade</span></a></div><divclass="col-lg-2">
<a href="?order=estado&filtro=<?php echo $filtro;?>" class="btn btn-default"><spanclass="orderEstado"><imgsrc="img/sort14.png">Ordenar por Estado</span></a></div><divclass="col-lg-1"><aclass="icon-search2 btn btn-default pesquisar"></a></div><divclass="col-lg-1"><ahref="visualiza.php"class="btn btn-default">Todos</a></div><divclass="clearfix"></div><divclass="col-lg-12 hidden searchbar"><divclass="centro"><formaction="?"method="get"class="form-horizontal"role="form"><divclass="col-lg-8 center-block">
<input type="text" id="search" name="filtro" class="search form-control" placeholder="Buscar..." value="<?php echo $filtro ?>"/>
</div><divclass="col-lg-4"><inputtype="submit"class="btn-pesquisar btn btn-default"value="Pesquisar"/></div><divclass="clearfix"></div></form></div></div></div><divclass="clearfix"></div><divclass="info-order"><p>Ordenando os resultados por <label><?php echo $order;?></label></p></div><?php
require('conecta.php');//verifica a página atual caso seja informada na URL, senão atribui como 1ª página
$pagina_atual =(isset($_GET['pagina']))? $_GET['pagina']:1;//seleciona todos os itens da tabela
$cmd ="SELECT id, nome, celular, foto, email
FROM cadastro";
$cadastros = mysql_query($cmd);//conta o total de itens
$total = mysql_num_rows($cadastros);//seta a quantidade de itens por página, neste caso, 10 itens
$registros =15;//calcula o número de páginas arredondando o resultado para cima
$paginas = ceil($total/$registros);//variavel para calcular o início da visualização com base na página atual
$inicio =($registros*$pagina_atual)-$registros;//seleciona os itens por página
$cmd ="SELECT
id, nome, celular, foto, email, tipo, idade, cidade, estado
FROM
cadastro
WHERE
nome LIKE '$filtro%' OR tipo like '$filtro%' or cidade like '$filtro%'
ORDER BY $order ASC
LIMIT $inicio,$registros";
$cadastros = mysql_query($cmd);
$total = mysql_num_rows($cadastros);//exibe os produtos selecionadoswhile($row = mysql_fetch_array($cadastros)){
$id = $row['id'];
$nome = $row['nome'];
$foto = $row['foto'];
$celular = $row['celular'];
$email = $row['email'];
$tipo = $row['tipo'];
$idade = $row['idade'];
$cidade = $row['cidade'];
$estado = $row['estado'];//BLOCO CONTENDO UM PERFIL
echo "<div class='vitrine col-xs-12'>
<div class='foto col-xs-3'>
<img alt='foto do perfil' title='foto perfil $nome' src='$foto' class='img-thumbnail'/>
</div>
<div class='col-xs-1'></div>
<div class='wrapp'>
<div class='infos col-xs-5'>
<div class='col-sm-12'>
<label class='nome'> $nome</label>
</div>
<div class='col-sm-12'>
<label>E-mail:</label> <span> $email</span>
</div>
<div class='col-sm-12'>
<label>Celular:</label> <span>$celular</span>
</div>
<div class='hidden'>
<input type='text' name='id' value='$id'>
</div>
<br/>
<div class='col-sm-12'>
<label>Idade:</label> <span class=''>$idade</span>
</div>
<div class='col-sm-12'>
<label>Cidade: </label> <span class=''>$cidade - $estado</span>
</div>
<div class='col-sm-12'>
<label>Classificação:</label> <span class='tipo'>$tipo</span>
</div>
</div>
</div>
<div class='col-sm-3 centraliza'>
<a class='btn btn-lg button' href='perfil.php?id=$id'><span class='icon-search'></span> Ver Perfil </a>
</div>
</div>
<div class='clearfix'></div>";}//Exibe a paginação
echo "<div class='paginacao col-xs-12 row'>";
echo"<div class='centro'>";//Primeira página e Anteriorif($pagina_atual ==1){
echo"<a class='btn btn-default ativo disabled'>Primeira</a>";
echo"<a class='btn btn-default ativo disabled'>Anterior</a>";}else{
echo"<a href='?pagina=1&filtro=$filtro&order=$order' class='btn btn-default'>Primeira</a>";
echo"<a href='?pagina=".($pagina_atual-1)."&filtro=$filtro&order=$order' class='btn btn-default'>Anterior</a>";}if($pagina_atual>=5){
echo" . . . ";}// 3 Páginas antesforeach(array_reverse(range($pagina_atual-1, $pagina_atual-3))as $pagina){if($pagina >0){
echo "<a href='?pagina=$pagina&filtro=$filtro&order=$order' class='btn btn-default'>$pagina</a>";}}// Página Atual
echo"<a class='btn btn-default ativo'>$pagina_atual</a>";//3 Páginas depois da Página atualforeach( range($pagina_atual+1, $pagina_atual+3)as $pagina){if($pagina <($paginas +1)){
echo"<a href='?pagina=$pagina&filtro=$filtro&order=$order' class='btn btn-default'>$pagina</a>";}}
$limitePaginas = $paginas-4;if($pagina_atual<=$limitePaginas){
echo" . . . ";}//'Próxima Página' e 'Ultima Página'if($pagina_atual == $paginas){
echo"<a class='btn btn-default ativo disabled'>Próxima</a>";
echo"<a class='btn btn-default ativo disabled'>Última</a>";}else{
echo"<a href='?pagina=".($pagina_atual+1)."&filtro=$filtro&order=$order' class='btn btn-default'>Próxima</a>";
echo"<a href='?pagina=".($paginas)."&filtro=$filtro&order=$order' class='btn btn-default'>Última</a>";}
echo"</div>";
echo "</div>";?></div><!-- RODAPÉ --><?php
require('footer.php');?><!-- /RODAPÉ --></div></body></html>
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
wilterson
Boa Tarde..
Estou desenvolvendo uma aplicação, e agora me bati com um problema que não estou conseguindo resolver.
é o seguinte: tenho uma página que será mostrado todas as pessoas cadastradas no sistema, a página mostrara as pessoas em blocos montados pelo while vindas do banco de dados.
o Código:
visualiza.php
A Página:
http://uploaddeimagens.com.br/imagens/1-png--1730 (não consegui posta-la aqui).
Continuando..
nessa pagina tenho botoes que fazem a ordenacao dos resultados por NOME, IDADE, CIDADE, ESTADO, TIPO DE PERFIL (a,b,c ou d)
o código dos botões de ordenação..
Passando via get a 'order' para a mesma página..
no inicio contem:
E depois desse mega texto, minha pequena dúvida..
Como faço para ordenar por mais de um botão?
Quero ordenar por idade e por tipo, por exemplo..
mas ele ordena por Idade OU por titulo. (devido ao método get que usei para passar a informacao de ordenacao)..
Se alguém puder me ajudar.. :D
Obrigado...
Página inteira:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.