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

Como ordenar para mostrar o ultimo cadastrado?


Brenno Ferreira Santiago

Pergunta

Como eu posso fazer para ordenar esse meu script para que mostre os resultados na ordem decrescente?

<?php
// Selecionar servidor
$conectar = mysql_connect("localhost", "root", "") or die ("Erro ao logar no BD");
// Selecionar BD
mysql_select_db("ud", $conectar);
// Pegar a página atual por GET
$p = $_GET["p"];
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if(isset($p)) {
$p = $p;
} else {
$p = 1;
}
// Defina aqui a quantidade máxima de registros por página.
$qnt = 12;
// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página
$inicio = ($p*$qnt) - $qnt;
// Seleciona no banco de dados com o LIMIT indicado pelos números acima
$sql_select = "SELECT * FROM thumbs LIMIT $inicio, $qnt";

// Executa o Query
$sql_query = mysql_query($sql_select);

echo "<h1>Lista de Produtos Adicionados</h1>";

// Cria um while para pegar as informações do BD
while($array = mysql_fetch_array($sql_query)) {
// Variável para capturar o campo 'nome' no banco de dados
$thumbs = $array["thumb"];
$imagem = $array["imagem"];
$descricao = $array["descricao"];
$valor = $array["valor"];


// Exibe o nome que está no BD e pula uma linha

print "<div id=\"brenno_teste\"><a href=\"fotos/$imagem\" target='_blank'><img class=\"foto_descricao\" src=\"fotos/$thumbs\"></a><br><span class=\"descricao\">$descricao</span></b><br>R$: <span class=\"valor\">$valor</span></div>";

}

// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";

//tentando deixar o lance da paginação sempre embaxo das imgs =) BreNnØ
echo "<div id=\"paginass\">";
// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 
// para pegarmos o número total de registros
$sql_select_all = "SELECT * FROM thumbs";
// Executa o query da seleção acimas
$sql_query_all = mysql_query($sql_select_all);
// Gera uma variável com o número total de registros no banco de dados
$total_registros = mysql_num_rows($sql_query_all);
// Gera outra variável, desta vez com o número de páginas que será precisa. 
// O comando ceil() arredonda 'para cima' o valor
$pags = ceil($total_registros/$qnt);
// Número máximos de botões de paginação
$max_links = 3;
// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)
echo "<a href='principal.php?acao=lista_produtos&p=1' target='_self'>Primeira Página</a>";
echo "&nbsp;|&nbsp;";
// Cria um for() para exibir os 3 links antes da página atual
for($i = $p-$max_links; $i <= $p-1; $i++) {
// Se o número da página for menor ou igual a zero, não faz nada
// (afinal, não existe página 0, -1, -2..)
if($i <=0) {
//faz nada
// Se estiver tudo OK, cria o link para outra página
} else {
echo "<a href='principal.php?acao=lista_produtos&p=".$i."' target='_self'>".$i."</a> ";
}
}
// Exibe a página atual, sem link, apenas o número
echo $p." ";
// Cria outro for(), desta vez para exibir 3 links após a página atual
for($i = $p+1; $i <= $p+$max_links; $i++) {
// Verifica se a página atual é maior do que a última página. Se for, não faz nada.
if($i > $pags)
{
//faz nada
}
// Se tiver tudo Ok gera os links.
else
{
echo "<a href='principal.php?acao=lista_produtos&p=".$i."' target='_self'>".$i."</a> ";
}
}
// Exibe o link "última página"
echo "|&nbsp;";
echo "<a href='principal.php?acao=lista_produtos&p=".$pags."' target='_self'>Ultima Página</a> ";
?>

<?
echo "</div>";
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Utilize a cláusula ORDER BY, exemplo:

Mostra em ordem crescente (do primeiro pro último):

SELECT * FROM tabela ORDER BY id ASC
Mostra em ordem decrescente (do último pro primeiro):
SELECT * FROM tabela ORDER BY id DESC

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...