Jump to content


Photo

Destaques = Mais Clicados


  • Faça o login para participar
13 replies to this topic

#1 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 27/05/2008, 12:34

Olá pessoal, tenho um site que mostra 24 thumbs por pagina;

cada thumb abre com query string exemplo: open.php?original=http://www.imagem_original.com/

agora eu pretendo mostrar as 4 thumbs mais clicadas, :click:

na tabela onde são inseridas as thumbs,links e etc tem um campo chamado "contagem"

a cada click na thumbs o valor do campo "contagem" aumenta 1 click;

e para mostrar as mais clicadas eu faria um select ordenando por ordem decrescente no campo "contagem" com limite de 4!


DUVIDA: no caso de eu queira mostrar 4 randomicas, colocando limit como 8 como ficaria? :unsure:

:huh:

Edição feita por: tempest, 27/05/2008, 13:01.

Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#2 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 27/05/2008, 13:16

poderia detalhar um pouco mais..

não entendi a sua dúvida!

flws
<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#3 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 27/05/2008, 13:21

selecionar as 8mais clicadas e dar um RAND nelas?

se for isso coloca elas em um array e da um array_rand...

mais info:

http://br.php.net/ma....array-rand.php


OBS: nunca fiz isso, mais acredito que esse seja o caminho correto.

té+
[]'s

#4 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 27/05/2008, 13:52

Se for como o MarkoviZ disse ...

primeiramente coloque dentro de uma array.

Exemplo : (tirado do php.net), mas implementei um foreach para repetir os nomes e tb modifiquei um pouco!
<?php

$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, count($input));
foreach($rand_keys as $random){
echo '<br>'.$input[$random];

}
?>

flws, té mais

Edição feita por: Ferlouko x), 27/05/2008, 13:53.

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#5 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 27/05/2008, 16:09

Para links mais clicados, você tendo o ID da imagem, fazia um link para as imagens do tipo:
www.site.com/contador.php?id=123
Aí no contador, ele adicionaria +1 na tabela que tenha esse ID postado na URL....
E logo após pegaria nessa tabela a URL da imagem e redirecionaria... =)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#6 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 28/05/2008, 00:09

Use a função RAND do próprio MySQL, é mais rápido e mais correto.

#7 tempest

tempest

    12 Horas

  • Usuários
  • 131 posts
  • Sexo:Masculino
  • Localidade:Caçador, SC
  • Interesses:Php, Mysql e interatividade!

Posted 28/05/2008, 00:29

Obrigado galera, vou dar uma olhada nesta funcao array_rand que o marco disse!


(ok2)

victor, tem um exemplo basico ai ?

[]s
Posted Image
Css - Flash - Php?...
<? echo "Compartilhar é uma boa forma de aprender"; ?>

#8 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 28/05/2008, 00:33

simples ...

SELECT * FROM tabela ORDER BY rand( )

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#9 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 28/05/2008, 10:09

victorhb,
Ferlouko x),

ela quer os 8+ clicados, e só depois dar um RAND(), então esse modo não seria viável, pois ele daria um RAND() em todos os registros do DB...

té+
[]'s

#10 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 28/05/2008, 14:18

Marcoviz, então é o como eu citei antes.. mesmo..

Exemplo : (tirado do php.net), mas implementei um foreach para repetir os nomes e tb modifiquei um pouco!

<?php

$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, count($input));
foreach($rand_keys as $random){
echo '<br>'.$input[$random];

}
?>


primeiro coloca os resultados da busca em uma array(), depois utiliza o array_rand()
<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#11 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 28/05/2008, 14:20

victorhb,
Ferlouko x),

ela quer os 8+ clicados, e só depois dar um RAND(), então esse modo não seria viável, pois ele daria um RAND() em todos os registros do DB...

té+


Simples, só colocar um LIMIT 8 no final da SQL.

SELECT * FROM tabela ORDER BY RAND() LIMIT 8

#12 MarcoviZ

MarcoviZ

    ubuntu for human being

  • Usuários
  • 1137 posts
  • Sexo:Não informado

Posted 28/05/2008, 14:26

Tambem nao daria certo, por ele selecionaria 8 registros randômicos e não os mais clicados...

*.*

té+
[]'s

#13 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 28/05/2008, 14:36

Tambem nao daria certo, por ele selecionaria 8 registros randômicos e não os mais clicados...

*.*

té+


lol. <_<

Era só um exemplo. O código seria assim completo:

SELECT * FROM tabela ORDER BY cliques DESC, RAND() LIMIT 8

Só substituir tabela pela sua tabela e cliques pelo nome do campo responsável pela contagem.

#14 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 28/05/2008, 23:45

Tambem nao daria certo, por ele selecionaria 8 registros randômicos e não os mais clicados...

*.*

té+


lol. <_<

Era só um exemplo. O código seria assim completo:

SELECT * FROM tabela ORDER BY cliques DESC, RAND() LIMIT 8

Só substituir tabela pela sua tabela e cliques pelo nome do campo responsável pela contagem.


Boa.. desta eu não sabia! Eu sempre usei rand() soh pra ordernar de forma randomica.. xD

Edição feita por: Ferlouko x), 28/05/2008, 23:45.

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>




0 user(s) are reading this topic

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

IPB Skin By Virteq