Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Cursos Online iMasters
Foto:

Selecionar id do post com maior número de visitas

MAX
  • Por favor, faça o login para responder
5 respostas neste tópico

#1 Vinicius Assis

Vinicius Assis
  • Membros
  • 3 posts

Postado 22 novembro 2013 - 11:55

Fala galera, meu primeiro post aqui no site!
 
então.. estou iniciando em php e mysql,
e a minha dúvida é:
como selecionar o id da linha com maior número de acessos ?
no banco a coluna é (visitas).
 
como pegar o id da linha que tem maior número de acessos?
 
fiz assim e não pegou:
 
$maior_acesso = mysql_query("SELECT id, MAX(visitas) AS visitas FROM noticias")
                            or die(mysql_error());
 

 

quando dou echo:

 

<?php echo $maior_acesso; ?>

 

ele me retorna assim:

 

Resource id #15

 

 

sendo que esse 15 não é o id da linha de maior acesso... não sei o que é esse #15...

 

 

E também não sei completar o código para pegar o $id, $visitas, $assunto etc...

 

sei que é super simples, porém estou me esforçando para aprender! Obrigado!


  • 0

#2 Roberto Fagundes

Roberto Fagundes
  • Membros
  • 354 posts

Postado 22 novembro 2013 - 13:21

Nisso ai você não esta retornando o valor

o código sql esta certo o problema esta no php

Vou te passar um exemplo:

 

http://www.geekproje...-em-uma-tabela/


  • 0

#3 Vinicius Assis

Vinicius Assis
  • Membros
  • 3 posts

Postado 22 novembro 2013 - 15:48

Valeu Roberto por me ajudar! Dei uma olhada no que você me mandou, porém é diferente,

o exemplo só tem um registro.

 

Com base no que você me madou eu cheguei nisso

 

$maior_acesso = mysql_query("SELECT id, visitas, MAX(visitas) AS visitas FROM post_noticias")
                            or die(mysql_error());
 
while($registro = mysql_fetch_array($maior_acesso)){
              $id = $registro[0];
              $visitas = $registro[1];
}
 
meu php:
 
<?php echo $id; ?>
<?php echo $visitas; ?>
 
 
porém me retornou com os dados da primeira linha do meu banco, e não com a linha de maior número de visitas.

  • 0

#4 Roberto Fagundes

Roberto Fagundes
  • Membros
  • 354 posts

Postado 22 novembro 2013 - 16:33

Tenta desta forma:

 

SELECT id, visitas FROM post_noticias WHERE visitas = (SELECT MAX(visitas) FROM post_noticias) LIMIT 1;

  • 0

#5 Vinicius Assis

Vinicius Assis
  • Membros
  • 3 posts

Postado 22 novembro 2013 - 17:07

$maior_acesso = mysql_query("SELECT id, visitas FROM post_noticias WHERE visitas = (SELECT MAX(visitas) FROM post_noticias) LIMIT 1;")

                            or die(mysql_error());
while($registro = mysql_fetch_array($maior_acesso)){
$id = $registro[0];
$visitas = $registro[1];
}
 
 
 
nada, não pega o de maior número, ele pegou um aleatório, e só fica nele

Editado por Vinicius Assis, 22 novembro 2013 - 17:07 .

  • 0

#6 Roberto Fagundes

Roberto Fagundes
  • Membros
  • 354 posts

Postado 22 novembro 2013 - 17:13

Você pode postar a estrutura da sua tabela e alguns dados também ??


  • 0




Publicidade

/ins>