lealdl 3 Denunciar mensagem Publicado 28 de Agosto (editado) 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 18 de Setembro por lealdl Dúvida resolvida Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
nunopicado 1129 Denunciar mensagem Publicado 28 de Agosto 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. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
lealdl 3 Denunciar mensagem Publicado 2 de Setembro 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
nunopicado 1129 Denunciar mensagem Publicado 2 de Setembro 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 3 Denunciar mensagem Publicado 2 de Setembro 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 1129 Denunciar mensagem Publicado 3 de Setembro 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 3 Denunciar mensagem Publicado 3 de Setembro 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 5 Denunciar mensagem Publicado 3 de Setembro 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 3 Denunciar mensagem Publicado 3 de Setembro 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 5 Denunciar mensagem Publicado 3 de Setembro 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 3 Denunciar mensagem Publicado 3 de Setembro 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 14 Denunciar mensagem Publicado 14 de Setembro 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 3 Denunciar mensagem Publicado 18 de Setembro 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