Boa noite pessoal, abri um tópico há algumas semanas sobre isso, mas aí surgiram outros problemas e como estava fugindo do assunto principal resolvi abrir uma nova discussão.
É o seguinte, eu possuo as tabelas pré-treino e pacientes, onde na tabela pacientes tenho somente o id e o nome do paciente, e na tabela pré-treino eu possuo os campos peso, altura e nomepaciente (FK da tabela pacientes para referenciar as duas) imc e status.
Possuo também um formulário para que o paciente informe qual o seu peso, sua altura, para que seu imc seja calculado automaticamente, para identificar qual paciente que respondeu ao formulário eu faço uma referência através da URL fazendo com que minha inserção ao BD fique da seguinte maneira:
<?php
if(!empty($_POST["save_record"])) {
require_once("db.php");
$sql = "INSERT INTO pretreino ( id, post_pesopre, post_altura, nomepaciente) VALUES ( :id, :post_pesopre, :post_altura, :nomepaciente)";
$pdo_statement = $pdo_conn->prepare( $sql );
$result = $pdo_statement->execute( array( ':id'=>$_POST['id'], ':post_pesopre'=>$_POST['post_pesopre'], ':post_altura'=>$_POST['post_altura'], ':nomepaciente'=>$_GET['id'] ) );
if (!empty($result) ){
header('Location:index.php');
}
}
?>
Após isso, para apresentar o relatório eu faço um:
<?php
$pdo_statement = $conexao->prepare("SELECT * FROM pacientes left join pretreino on pacientes.idpaciente = pretreino.nomepaciente ;");
$pdo_statement->execute();
$result = $pdo_statement->fetchAll();
?>
<form name="myform" action="(página para fazer o novo insert)" method="POST">
<table>
<thead>
<tr>
<th> Nome </th>
<th> Peso </th>
<th> Altura </th>
<th> IMC </th>
<th> Status </th>
</tr>
<tbody>
<?php
if(!empty($result)) :
foreach($result as $row) :
?>
<tr>
<td> <?php echo $row["nome"];?> </td>
<td> <?php echo $row["post_pesopre"];?> </td>
/ <td> <?php echo $row["post_altura"];?> </td>
<td> IMC </td>
<td> <?php echo $row["status"];
if($row["post_peso"] == ' '){ echo "<select name= 'status'>";
echo "<option value='' selected disabled> Justificativa </option>";
echo "<option value='Atrasado'> Atrasado </option>";
echo "<option value='Dispensado'> Dispensado </option>";
echo "</select>";
</tr>
<?php endforeach ?>
<?php endif ?>
</tbody>
</table>
<div>
<input type="submit" name="save_record1" id="btnSubmit1" class="btn btn-primary" value="Salvar">
<input type="submit" id="cancelar" class="btn btn-danger link_exclusao" value="Corrigir" onclick="javascript:corrigir();">
</div>
</form>
Utilizo o Select * from paciente, pois ao paciente que não responder ao formulário quero abrir um combobox para que o responsável pela manipulação do sistema indique a justificativa de não ter uma resposta e com isso salve a justificativa no BD, eis que aparece o meu problema:
Como faço para relacionar o combobox ao id do paciente que não respondeu ao formulário e salvar os dados na tabela pretreino no campo status? Visto que o id do paciente é salvo no banco pela requisição advinda do GET e a apresentação no relatório é através do * from pacientes.
Ao salvar novamente os dados preciso inserir os dados na tabela, mas como vou pegar o id do paciente que na minha estrutura é uma FK e o parâmetro é passado através da URL?