Ir ao conteúdo
  • Cadastre-se

MEGATRON1432

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

1
  1. Tenho um sistema online e preciso fazer um <select> e um <option> para mostrar todas as pessoas possíveis para o cadastro, porém quando é o momento de editar eu tenho um problema: a pessoa que já estava selecionada anteriormente aparece duas vezes, ou seja, se eu tinha 7 pessoas vão aparecer 8. Peço a ajuda de vocês para corrigir esse erro, para que a pessoa a qual eu já tinha selecionado, apareça só 1 vez. $consultaPlant = $MySQLi->query("SELECT * FROM TB_PLANTOES join TB_MEDICOS ON PLANT_MED_CODIGO = MED_CODIGO WHERE PLANT_CODIGO = $codigo"); $resultadoPlant = $consultaPlant->fetch_assoc(); $consulta2 = $MySQLi->query("SELECT * FROM TB_MEDICOS"); <div class="mb-3 col-4"> <label>Médico</label> <select name="med" class="form-control" required> <option value="<?php echo $resultadoPlant['PLANT_MED_CODIGO']; ?>"> <?php echo $resultadoPlant['MED_NOME']; ?> </option> <?php while ($resultado = $consulta2 -> fetch_assoc()) { ?> <option value="<?php echo $resultado['MED_CODIGO'] ?>"> <?php if ($resultado['MED_CODIGO'] == $resultadoPlant['PLANT_MED_CODIGO']) { echo ">"; } ?> <?php echo $resultado['MED_NOME']; ?> </option> <?php } ?> </select> </div> OBS: O SELECT DISTINCT NÃO IRÁ FUNCIONAR, POIS ESTOU FAZENDO DUAS CONSULTAS DIFERENTES ($consulta2 e $consultaPlant)
  2. No meu sistema eu preciso que ao editar um plantão, apareça todos os médicos e dias disponíveis num <select>, porém sempre que preciso editar outra coisa que não seja o médico ou os dias, eles retornam para o primeiro valor que aparece no <select>. Por exemplo, se eu cadastro um plantão que comece na segunda e termine na quarta, para o médico Aristóteles, fica tudo ok, porém se eu for editar SOMENTE o dia que esse plantão vai acabar, o 1º de trabalho vai se tornar domingo (por que é a primeira opção que aparece no <select> e para o médico é atribuido a primeira opção de médica que aparecer, mesmo que eu não coloque.) Então, queria a ajuda de vocês para que sempre que eu for editar o plantão, apareça na barra o médico e o plantão que foram selecionados anteriormente, para que não tenha nenhuma substituição indesejada. Códigos: <label>Médico</label> <select name="med" class="form-control"> <option>Selecione o médico: </option> <?php while ($resultado = $consulta2 -> fetch_assoc()) { ?> <option value="<?php echo $resultado['MED_CODIGO'] ?>"> <?php if ($resultado['MED_CODIGO'] == $resultadoPlant['PLANT_MED_CODIGO']) { echo "Selecionado:"; } ?> <?php echo $resultado['MED_NOME']; ?> </option> <?php } ?> </select> Depois mudei um pouco de como ele iria funcionar (tendo agora apenas data de início) e ele acabou dando errado, não me mostra nenhum valor. Se alguém puder me ajudar, agradeceria MUITO. porque agora preciso que me mostre os eventos que acontecem naquela semana e só me mostrem os próximos eventos, quando chegar a outra semana (que começa no domingo). Código com alterações: $consulta3=$MySQLi->query("SELECT *,DATE_FORMAT(EVE_DATA,'%d/%m/%Y %H:%i')as data_1 FROM TB_EVENTOS WHERE EVE_DATA between NOW() and DATE_ADD(NOW(), INTERVAL 1 WEEK) ORDER BY EVE_DATA");
  3. @luscas testei seu código, porém me retorna erro: Uncaught Error: Call to a member function fetch_assoc() on bool in C:\xampp\htdocs\sch\index.php:133 Stack trace: #0 {main} thrown in. Esse erro me aponta o select... E eu quero o código para me mostrar todos os eventos que acontecem na semana, se domingo a segunda, que esses dias fiquem padronizados. porque o primeiro código mostra os eventos dos próximos 7 dias e vai atualizando a cada dia que passa e n é isso que quero, quero que ele atualize somente quando chegar o outro domingo.
  4. Tenho um sistema onde ocorrerá alguns eventos, para isso preciso selecionar os eventos que acontecem em uma semana. Tenho um código que faz isso, porém a cada dia que passa ele acrescenta o próximo dia. Por exemplo, se hoje é terça, ele seleciona até a segunda, mas aí quando chegar na quarta ele acrescenta a próxima terça nos dados. E não é isso que quero mais, quero que ele selecione aquela semana toda (de domingo a sábado) e só atualize no próximo domingo, mostrando os eventos da nova semana. Códigos: Esse é o primeiro código que fiz: $codcli=$_SESSION["codigocliente"]; $consulta3=$MySQLi->query("SELECT *,DATE_FORMAT(EVE_INICIO,'%d/%m/%Y %H:%i')as data_1,DATE_FORMAT(EVE_FIM,'%d/%m/%Y %H:%i')as data_2 FROM TB_EVENTOS JOIN TB_AGENDA ON EVE_AGE_CODIGO=AGE_CODIGO WHERE EVE_INICIO between NOW() and DATE_ADD(NOW(), INTERVAL 1 WEEK) and AGE_CLI_CODIGO=$codcli ORDER BY EVE_INICIO"); Depois mudei um pouco de como ele iria funcionar (tendo agora apenas data de início) e ele acabou dando errado, não me mostra nenhum valor. Se alguém puder me ajudar, agradeceria MUITO. porque agora preciso que me mostre os eventos que acontecem naquela semana e só me mostrem os próximos eventos, quando chegar a outra semana (que começa no domingo). Código com alterações: $consulta3=$MySQLi->query("SELECT *,DATE_FORMAT(EVE_DATA,'%d/%m/%Y %H:%i')as data_1 FROM TB_EVENTOS WHERE EVE_DATA between NOW() and DATE_ADD(NOW(), INTERVAL 1 WEEK) ORDER BY EVE_DATA");
  5. @luscas obrigado pela ajuda, porém tive que mudar e essa parte não será mais necessária. Porém tô com problema em outra parte, se puder me ajudar vou postar dps.
  6. Estou precisando fazer um join para mostrar ao cliente os dados correspondentes de um médico e o seu plantão, porém, o join está retornando com erro: todos os dados dos médicos vem certo, porém os do plantão vem um mesmo valor para todas as colunas da tabela de plantão. Acredito que seja um erro de join, pois com 2 selects os valores retornados ficam normais. Alguém pode me ajudar? (está em anexo o print de como está retornando os valores) SELECT * FROM TB_PLANTOES join TB_MEDICOS on PLANT_MED_CODIGO = PLANT_CODIGO order by field(PLANT_DIA,'Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado');
  7. @DiF Criei desta forma: if(isset($_POST['turno1'])){ $turno1 = $_POST['turno1']; $turno2 = $_POST['turno2']; $data = $_POST['data']; $med = $_POST['med']; $consulta = $MySQLi -> query("insert into TB_PLANTOES (PLANT_DIA, PLANT_TARDE, PLANT_DATA, PLANT_MED_CODIGO) values ('$turno1', '$turno2', '$data', '$med')"); $consulta2 = $MySQLi -> query("insert into TB_MEDICOS (MED_NOME) values ('$med')"); header("Location: lsplantao.php"); } <select name="med" class="form-control"> <?php while ($resultado = $consulta2 -> fetch_assoc()) { ?> <option value="$resultado['MED_CODIGO']"> <?php echo $resultado['MED_NOME']; ?> </option> <?php } ?> </select> Só que não deu certo, poderia me falar qual foi o erro?
  8. @luscas Valeu, cara! Me ajudou bastante! Deu tudo certo. @luscas você saberia me informar se com php e mysql consigo fazer a seguinte situação? Eu preciso cadastrar os plantões e nele colocar o nome dos médicos, mas para isso eu teria que usar o código de cada médico no cadastro. Pensei no seguinte: na hora do cadastro aparecer o nome do médico, para quem for fazer o cadastro, e em questão de programação a pessoa estaria selecionando o código do médico. Por exemplo: o médico Alfonso tem o código nº 1, no cadastro apareceria o nome de Alfonso e na programação eu estaria digitando o código nº 1. Consegue entender? Acha que dá pra fazer? Pode me orientar como fazer?
  9. Eu tenho um sistema de controle hospitalar onde todas as funcionalidades estão restritas apenas para os usuários que fizerem login, porém tenho a opção médico e coordenador, que são redirecionados para suas páginas através do login. Só que o médico consegue acessar a página do coordenador quando modifica a url, portanto, queria a ajuda de vocês para restringir o acesso da url. Funcionando da seguinte forma: quando o médico tentar acessar a página do coordenador permanecer na sua página e o mesmo para o coordenador, quando ele tentar acessar a página do médico, permanecer na sua própria página. verificar.php: <?php if(!isset($_SESSION['codigo'])){ session_start(); header("Location: login.php"); } if (strcmp(basename($_SESSION['codigo']), basename('coordenador.php')) == 0) { header("Location: index.php"); } login.php: <?php include("config.php"); $msg = 0; if(isset($_POST['email'])) { $email = $_POST['email']; $senha = $_POST['senha']; $consulta1 = $MySQLi->query("SELECT * FROM TB_MEDICOS join TB_PLANTOES on MED_PLANT_CODIGO =PLANT_CODIGO where MED_EMAIL = '$email' and MED_SENHA = '$senha'"); $consulta2 = $MySQLi->query("SELECT * FROM TB_COORDENADORES WHERE COORD_EMAIL = '$email' and COORD_SENHA = '$senha'"); if($resultado1 = $consulta1->fetch_assoc()){ $_SESSION['codigo'] = $resultado1['MED_CODIGO']; $_SESSION['nome'] = $resultado1['MED_NOME']; $_SESSION['dia'] = $resultado1['PLANT_DIA']; $_SESSION['tarde'] = $resultado1['PLANT_TARDE']; header("Location: medico.php"); }elseif($resultado2 = $consulta2->fetch_assoc()){ $_SESSION['codigo'] = $resultado2['COORD_CODIGO']; $_SESSION['nome'] = $resultado2['COORD_NOME']; header("Location: coordenador.php"); } $msg = 1; } ?> medico.php: <?php include("config.php"); include("verificar.php"); ?> coordenador.php: <?php include("config.php"); include("verificar.php"); ?>

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...