Retorno de array errado / **Socorro**

Galera meu problema é seguinte eu seleciono os médicos, coloco os horários ele me retorna assim:

Seleção e retorno do post

Sendo o que eu quero é que volte assim:
codMedico: 36
hora inicio: 11:11 hora fim: 11:11
codMedico: 37
hora inicio: 22:22hora fim: 22:22

que os horários sejam respectivos a seu médico, o meu código é esse:
Screenshot_22

Socorro por que é amanhã a entrega do meu tcc kkkkk

É jovem, chorar na ultima hora não vai resolver…

O que percebo que está faltando ai é uma relação entre os horarios com os medicos, você separou em 2 arrays ($codMedico e $horaInicio), onde a meu ver deveria ser para cada codMedico ter um horaInicio e um Horafim, como vc está fazendo no html?

Você consegue dizer para o php montar uma estrutura parecida simplesmente usando [] nos inputs, por exemplo assim:

<input type="text" name="medico[0][nome]">
<input type="text" name="medico[0][horaInicio]">
<input type="text" name="medico[0][horaFim]">

Isso está simulando uma linha do print que vc postou ok? As demais linhas teriam medico[1] medico[2] e assim em diante…

Tendo isso em mente, no php para pegar os medicos basta:

$plantonistas = $_POST['medico'];
foreach ($plantonistas as $cod => $medico) {
    echo "codMedico: {$cod} Nome: {$medico['nome']}<br>";
    echo "hora inicio: {$medico['horaInicio']} hora fim: {$medico['horaFim']}<br><br>";
}

Usando apenas um unico for vc mata tudo…

Eu monto o html através desse código:

Usei aquele esquema que você falou para colocar os “[ ]” para fazer um array

Ajustei meu post anterior, da uma olhada, do jeito que vc mostrou agora, vc nunca vai amarrar os horarios aos seus respectivos médicos, vc precisa usar matrizes e não apenas vetores compreendes?

Agora eu entendi, então o name=“medico[0][nome]”, o medico é o global, e o nome é uma váriavel
é como se fosse um vetor de json?

Algo parecido (na verdade vc monta uma matriz que é um vetor de vetores), agora q vc postou melhor o código usando suas variaveis ficaria algo assim:

<input name="cor[{$id_select}][nome]">...
<input name="cor[{$id_select}][horaInicio]">...
<input name="cor[{$id_select}][horaFim]">...

A flexibilidade do php é justamente em poder misturar chaves numericas cor[1] por exemplo com chaves textuais como nome, horaInicio, horaFim etc…

Da uma olhada pra ver como fica (Ctrl + U pra ver codigo-fonte) e vc verá que o php imprime dentro dos [] os valores com os codigos dos medicos, isso para os tres inputs (onde cada médico terá seu cadastro separado e bem organizado…), depois la no confirmarPlantao vc usa um foreach só!

Mano fiz exatamente o que você disse, funciono porém ele da erro de index quando não seleciono todas as checkbox

mas quando seleciona tudo funciona que é uma beleza

tem como arrumar isso?

isso vc pode resolver com isset…

foreach ($plantonistas as $cod => $medico) {
    if (isset($medico['nome'])) {
        echo "codMedico: {$cod} Nome: {$medico['nome']}<br>";
        echo "hora inicio: {$medico['horaInicio']} hora fim: {$medico['horaFim']}<br><br>";
    }
}

Algo nesse sentido, faça o teste

1 curtida

Mano eu não sei seu nome mas PUTA QUE PARIU eu te amo kkkkkk, se tu mora em sp eu ia te chamar para ir ver o meu tcc meu chapa

sou Rodrigo e sou hétero :joy:, sucesso no seu projeto irmão, muito boa sorte!

Obrigado mesmo Rodrigo, eu também sou hétero, meio que me exaltei kkkk