Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeoLoko

Paginação

Recommended Posts

Galera Tenho um site de modelos de uma agência.O cara faz uma busca, e ele lista as modelos, 15 modelos por página. até aí tudo certo!Mas é o seguinte, pra não dar preferencia pra 1ª modelo do banco de dados, tipo toda vez q o cara clicar em buscar mostrar sempre a mesma mina em primeiro, o cara quis que fosse randomicamente, belezaColoquei o ORDER BY RAND() na consulta SQL, só que ai não funciona, pois os registros q aparecem na 2ª página, as vezes são os mesmos q na primeira página!Tem como fazer paginação com registros randômicos????PS: é urgente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não tem nãose você especifica como randômico, logicamente que os dados vão ser resgatados de forma desordenadaa não ser que você cadastre o id de cada um que já apareceu e na página seguinte bloquear esses idsentendeu?mas não aconselho a fazer isso não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq vamos supor... a cada rand q você faz, você guarda os campos q jah foram selecionados em algum lugar... session por exemplo... e na consulta do bd você usa alguma coisa pra não selecionar mais os produtos q jah foram selecionados.... soh q se por exemplo.. o catálogo tem 900 registros... quando chegar nas ultimas páginas.. qual seria o tamanho da query? ela seria realmente enorme.. e com certeza iria sobrecarregar o servidor e tornar a aplicação lenta...eu acho q não tem solução naum.. pelo menos eu não consegui enconrtar nenhuma..

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae.

O que você pode fazer é o seguinte:

crie uma tabela (vamos supor que a tabela tenha nome de cadastros) onde você vai cadastrando os nomes, idade, etc....

 

Então você cria uma outra tabela (onde você vai fazer as pesquisas dos nome) com a mesma estrutura da tabela cadastro. (Supondo que essa tabela tem nome cadastrosrand)

 

 

Então até agora temos uma tabela onde as informações serão cadastradas e uma outra tabela com a mesma estrutura da primeira onde as informações serão repassadas da tabela cadastros para cadastrosrand.

 

Então crie ai um script que faça o seguinte.

 

deletar todos os registros da tabela cadastrosrand caso houver e depois passar todos os valores da tabela cadastros para a tabela cadastrosrand (reaplicar informações)

 

Para fazer isso seria assim:

 

INSERT INTO cadastrosrand (id,nome,idade,descricao,etc) SELECT (id,nome,idade,descricao,etc) FROM cadastros ORDER BY RAND();
depois pra mostrar pros visitantes do site você faz um select normal na segunda tabela (cadsastrosrand)

 

Na próxima vez que você rodar o script que você criou ele deve deletar tudo da tabela cadastrosrand e depois cadastrar tudo de novo de acordo com a tabela cadastro.

 

Isso deve ser feito pra não ter dados repetidos na tabela cadastrosrand

 

Ai você roda esse scritp , sei lá, pode ser uma vez por dia ou da melhor forma que achar possivel.

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.