Jump to content

Retornar somente registro selecionado


Recommended Posts

Posted (edited)

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

Edited by lealdl
Dúvida resolvida
Posted

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! 😄

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.

Posted
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! 😄

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

Posted
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.

Posted
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

Posted

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.

Posted
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!

Posted

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.

Posted
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!

Posted

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.

Posted
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...

  • 2 weeks later...
Posted

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

César Faria

Posted
Em 14/09/2018 às 19: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! 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.