lealdl Posted August 28, 2018 at 01:52 PM Report #611685 Posted August 28, 2018 at 01:52 PM (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 September 18, 2018 at 06:37 PM by lealdl Dúvida resolvida
nunopicado Posted August 28, 2018 at 03:07 PM Report #611686 Posted August 28, 2018 at 03:07 PM 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.
lealdl Posted September 2, 2018 at 08:29 PM Author Report #611726 Posted September 2, 2018 at 08:29 PM 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
nunopicado Posted September 2, 2018 at 08:42 PM Report #611728 Posted September 2, 2018 at 08:42 PM 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.
lealdl Posted September 2, 2018 at 08:57 PM Author Report #611729 Posted September 2, 2018 at 08:57 PM 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
nunopicado Posted September 3, 2018 at 12:21 AM Report #611733 Posted September 3, 2018 at 12:21 AM 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.
lealdl Posted September 3, 2018 at 05:07 PM Author Report #611734 Posted September 3, 2018 at 05:07 PM 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!
washalbano Posted September 3, 2018 at 06:44 PM Report #611736 Posted September 3, 2018 at 06:44 PM 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.
lealdl Posted September 3, 2018 at 07:02 PM Author Report #611737 Posted September 3, 2018 at 07:02 PM 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!
washalbano Posted September 3, 2018 at 07:26 PM Report #611739 Posted September 3, 2018 at 07:26 PM 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.
lealdl Posted September 3, 2018 at 08:07 PM Author Report #611740 Posted September 3, 2018 at 08:07 PM 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...
pc.cesar Posted September 14, 2018 at 05:36 PM Report #611850 Posted September 14, 2018 at 05:36 PM 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
lealdl Posted September 18, 2018 at 06:36 PM Author Report #611879 Posted September 18, 2018 at 06:36 PM 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!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now