• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

watt

Duvida php e mysql- Não quero registos repetidos

12 mensagens neste tópico

boa tarde

hoje a minha duvida é a seguinte. Estou a tentar fazer um menu com submenus a partir de registos retirados de uma base de dados em mysql acontece que no menu principal aparecem-me links repetidos. como faço para isto nao acontecer

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

qd faço uma pesquisa numa bd não quero que me devolva resultados repetidos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e que resultados repetidos te devolve? se tu fizeres procurar os dados da fetch onde o id=1 por exemplo o que é que te repete?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

então posta aí, porque assim quem tiver a tua duvida, já se pode safar também... ok?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok, logo quando chegar a casa meto aki o codigo que tenho do meu menu, com sub menus, onde os links vem de uma bd em mysql.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

Não tinha compreendido que neste caso havia várias entradas do mesmo registo...

Isso a acontecer, cheira-me a esturro...

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo :P

Unique aplicado a predicados de uma cláusula select? Isso não é SQL standard pois não?

Não será antes:

  select DISTINCT local from alunos;

?

Há que ter em conta que o peso de uma cláusula distinct é bastante superior à aplicação correcta de filtros. Volto a reafirmar que, tipicamente, quando existem registos duplicados normalmente é porque há aplicação de filtros "mal especificada".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

enganei-me...

distinct claro... looll.. obrigado... unique pode ser aplicado de inicio se não queremos evitar registos repetidos numa coluna ou num conjunto de colunas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

enganei-me...

distinct claro... looll.. obrigado... unique pode ser aplicado de inicio se não queremos evitar registos repetidos numa coluna ou num conjunto de colunas.

Completo apenas com: "no íncio" quer dizer na construção da tabela ao nível do modelo físico.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora