Ir para conteúdo

POWERED BY:

Arquivado

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

0cool

somente 10 registro por usuários

Recommended Posts

Povo, tenho uma tabela no meu bd, aonde são colocados dados de alguns favoritos de uma série de livros, portanto o usuário pode favoritar 10 livros no site e depois pode ir até uma página aonde vão esta estes registro.

 

Mas eu só preciso de 10 registro dos usuários, como eu posso fazer para que o sistema registre apenas os 10 últimos registros favoritados pelos usuários, quero fazer isso, pois só irei listar 10 favoritos por usuários e não queria que ficasse registros que não seriam exibidos.

 

A questão é... eu tenho 10 registros... quando for colocar um novo o bd elimina o mais antigo e põe esse novo registro... e assim vai seguindo uma ordem que quando um novo for registrado o mais antigo registro seja eliminado.

 

Acho que isso pode ser feito diretamente pelo BD, mas não faço idéia de como fazer.

 

Quem puder me ajudar, valew!

 

Att.: Caio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, obrigado pela ajuda, mais não entendi o artigo, parece ser algo simples, mais não consegui entender a lógica, tu ou alguém poderia me explicar simplificadamente como seria o funcionamento daquelas instruções?

 

É Claro, se não for pedir demais.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O LIMIT , limita o resultado.

 

 

SELECT *
FROM USUARIOS
LIMIT 10

 

A questão que você tem parece ser um pouco mais complexa, publica a SQL que tem e talvez alguém possa ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, em relação ao LIMIT eu já conhecia, na verdade é uma query simples que eu tenho, utilizando select from apenas e listando todos os resultados atualmente.

 

A questão é na hora do insert, eu queria saber se nesse momento tem como fazer a substituição, ou seja... colocar um novo registro e apagar um antigo.

 

Porém to achando que terei que fazer isso via code mesmo.

 

Mas agradeço e fico no aguardo caso alguém tenha alguma solução via mysql sem uso de funções do code.

Compartilhar este post


Link para o post
Compartilhar em outros sites
A questão é na hora do insert, eu queria saber se nesse momento tem como fazer a substituição, ou seja... colocar um novo registro e apagar um antigo.

Talvez via trigger isto possa ser feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria como o motta disse, faz uma trigger que antes de inserir valide a quantidade de registros para aquele usuario, caso tenha mais que 10 apague os antigos,

o que você pode fazer tbm é tratar na aplicação, seria a mesma lógica da trigger.

 

seria algo tipo assim:

 

DELETE FROM posts WHERE id NOT IN(SELECT id FROM posts WHERE user=user_id ORDER BY id DESC LIMIT 9) AND user=user_id;

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.