Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

lealdl

Retornar somente registro selecionado [RESOLVIDO]

Mensagens Recomendadas

lealdl

Bom dia senhores! 
Necessito implementar o seguinte... 
Tenho uma tabela mysql de agenda de pacientes, onde estão os dados de agendamento de TODOS os pacientes. Como posso limitar a visualização para que o usuário que esteja logado, visualizar somente as informações referentes a ele? 
Pesquisei de todas as maneiras, mas não obtive êxito. Se alguém puder me ajudar... 
Grato, 
Luciano

Editado por lealdl
Dúvida resolvida

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Parece-me ser mais uma questão de MySQL do que de PHP.
Ainda assim, e se bem percebi a questão, seguem os meus 2 tostões! :D

Tudo depende de que estrutura de dados tens.

Primeira questão: Cada paciente só pode estar atribuído a um usuário? Ou há uma tabela de referências?
Para fazeres essa correlação tens sempre de ter uma referência que ligue um usuário a um paciente. Esta referência pode ser directamente na tabela de pacientes, se for sempre só um usuário atribuído, ou pode ficar numa tabela de relações (neste caso dá para qualquer situação, seja apenas um usuário por paciente, ou mais do que um).

Sabes dizer, no teu caso, qual é o sistema usado para criar essa referência?

 

Uma vez estipulada a referência entre as tabelas, só terás de filtrar o SELECT à tabela de pacientes pelo valor de referência (ID do usuário).
Se a referência estiver directamente na tabela de pacientes, basta incluir isso no WHERE.
Se existir uma tabela de referências, terás de usar um JOIN para ligar a tabela de pacientes à tabela de referências, aí filtrar pelo ID do usuário.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
Em 28/08/2018 às 12:07, nunopicado disse:

Parece-me ser mais uma questão de MySQL do que de PHP.
Ainda assim, e se bem percebi a questão, seguem os meus 2 tostões! :D

Tudo depende de que estrutura de dados tens.

Primeira questão: Cada paciente só pode estar atribuído a um usuário? Ou há uma tabela de referências?
Para fazeres essa correlação tens sempre de ter uma referência que ligue um usuário a um paciente. Esta referência pode ser directamente na tabela de pacientes, se for sempre só um usuário atribuído, ou pode ficar numa tabela de relações (neste caso dá para qualquer situação, seja apenas um usuário por paciente, ou mais do que um).

Sabes dizer, no teu caso, qual é o sistema usado para criar essa referência?

 

Uma vez estipulada a referência entre as tabelas, só terás de filtrar o SELECT à tabela de pacientes pelo valor de referência (ID do usuário).
Se a referência estiver directamente na tabela de pacientes, basta incluir isso no WHERE.
Se existir uma tabela de referências, terás de usar um JOIN para ligar a tabela de pacientes à tabela de referências, aí filtrar pelo ID do usuário.

Boa noite, nunopicado! Primeirmente, agradeço-lhe pela resposta, segundo, quero me desculpar pela demora no retorno. Semana muito apurada!

Bem, é um sistema de agendamento de consultas odontológicas, onde o administrador cadastra tudo e agenda o horário. Os usuários não têm acesso ao sistema (é exatamente isso que estou implementando).

Gostaria de atribuir um login e uma senha a cada paciente, que por sua vez, terá acesso e poderá consultar sua agenda.

Quanto à questão sobre referencia, não sei como implantar.

Aguardo resposta, agradeço antecipadamente!

Luciano

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado
11 minutos atrás, lealdl disse:

um login e uma senha a cada paciente

A cada paciente, ou a cada médico dentista?
 

A questão da referência é teres algum ponto de ligação entre pacientes e médicos. A sua implementação depende do seguinte:
- Cada paciente só pode ser consultado por um único médico?


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
13 minutos atrás, nunopicado disse:

A cada paciente, ou a cada médico dentista?
 

A questão da referência é teres algum ponto de ligação entre pacientes e médicos. A sua implementação depende do seguinte:
- Cada paciente só pode ser consultado por um único médico?

cada paciente terá seu login e senha

a partir daí, cada paciente poderá consultar seus horários. Médico/dentista já possuem acesso, mas os pacientes ainda não

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Então o que precisas fazer é dar acesso aos pacientes.
O que me leva a outra pergunta: O quê que cada paciente vai ter acesso? À ficha de paciente, à marcação? Que estrutura tens na DB que precises que o paciente aceda?


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
16 horas atrás, nunopicado disse:

Então o que precisas fazer é dar acesso aos pacientes.
O que me leva a outra pergunta: O quê que cada paciente vai ter acesso? À ficha de paciente, à marcação? Que estrutura tens na DB que precises que o paciente aceda?

Boa tarde, nunopicado! 

Em princípio, cada paciente poderá somente visualizar sua agenda de horários, sem ter permissão para marcar/desmarcar consultas. Em outra oportunidade, gostaria de implantar tb a marcação de consultas pelo próprio paciente. Agradeço pela dedicação!

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
washalbano

Olá!
Quando logar o seu paciente no sistema, guarde a id dele na sessão.
Quando for exibir a agenda daquele cliente, monte a query de busca, com a id que estiver na sessão.

Assim, só aparecerão dados daquele cliente específico.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
11 minutos atrás, washalbano disse:

Olá!
Quando logar o seu paciente no sistema, guarde a id dele na sessão.
Quando for exibir a agenda daquele cliente, monte a query de busca, com a id que estiver na sessão.

Assim, só aparecerão dados daquele cliente específico.

Olá, washalbano! Penso nisso, mas não tenho muito conhecimento em como trabalhar com sessão. Esse é um sistema que está implantado em uma clínica odontológica de um cliente. Há uns dias, ele me solicitou que eu o "socorresse", pois os seus pacientes estariam lhe cobrando um  acesso para ver suas consultas agendadas. 

Então, resumindo, pegar o "bonde" andando é bem complicado. 

Na tabela de usuários, pensei em criar um user e senha, com permissão de acesso. Mas como deixá-lo ver somente seus dados é o maior desafio pra mim!

Grato pela resposta!

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
washalbano

Talvez seja melhor criar uma tabela apenas para login de pacientes
E se logar, buscar os dados relativos a ele nas outras tabelas

O sistema já deve ter uma área para usuários(que usam efetivamente o sistema)
Esse outro login, que será apenas para visualização, creio que seja melhor ficar separado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
39 minutos atrás, washalbano disse:

Talvez seja melhor criar uma tabela apenas para login de pacientes
E se logar, buscar os dados relativos a ele nas outras tabelas

O sistema já deve ter uma área para usuários(que usam efetivamente o sistema)
Esse outro login, que será apenas para visualização, creio que seja melhor ficar separado.

Isso mesmo que estou pensando... vamos conversando...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pc.cesar

Boas, não li o texto na integra mas acho que o problema nao é com o PHP ou Mysql ,e com a forma como crias a base de dados

Tabela utilizadores     --> no_user, nome_user, user, login

Tabela Clientes/Pacientes      --> no_cliente, nome_cliente, user, login

Tabela Medico                       --> no_medico, nome_medico, especialidade, user, login

Tabela consultas                   -->no_cliente, nome_cliente, no_medico, nome_medico, especialidade

desta forma quando fizer um registo, a consulta fica ligada com o medico da especialidade, e com o paciente e so vê os respectivos registos

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lealdl
Em 14/09/2018 às 14:36, pc.cesar disse:

Boas, não li o texto na integra mas acho que o problema nao é com o PHP ou Mysql ,e com a forma como crias a base de dados

Tabela utilizadores     --> no_user, nome_user, user, login

Tabela Clientes/Pacientes      --> no_cliente, nome_cliente, user, login

Tabela Medico                       --> no_medico, nome_medico, especialidade, user, login

Tabela consultas                   -->no_cliente, nome_cliente, no_medico, nome_medico, especialidade

desta forma quando fizer um registo, a consulta fica ligada com o medico da especialidade, e com o paciente e so vê os respectivos registos

 

Boa tarde, colega pc.Cesar!

Consegui obter êxito! Fiz um pouco diferente. Resolvi reorganizar as idéias e remodelar.

Primeiro criei uma tabela "login_pacientes", onde verifico se o paciente em cadastro na clínica;

Criei uma seção "id_paciente", apenas para segurança;

Na página restrita (agenda.php) criei uma query assim: select * from v_agenda where cpf = '$cpf' AND data >=CURRENT_DATE()";

Assim, o paciente busca os dados de agendamento digitando seu cpf (o qual busco por um input). 

Um grande abraço! 

Em 14/09/2018 às 14:36, pc.cesar disse:

 

 

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.