Code only returns me the first line of the table referring to the patient ID

0

The code only returns me the first line of the table for the patient ID

<?php
require 'conexao.php';

// Recebe o id do exame do exame via GET
$id_exames = (isset($_GET['id'])) ? $_GET['id'] : '';


// Valida se existe um id e se ele é numérico
  if (!empty($id_exames) && is_numeric($id_exames)):

    // Captura os dados do exame solicitado
    $conexao = conexao::getInstance();
    $sql = 'SELECT  id,codigo,data,exame,data2  FROM historico where id='.$id_exames;   
    $stm = $conexao->prepare($sql);
    $stm->bindValue(':id', $id_exames);
    $stm->execute();
    $exames = $stm->fetch(PDO::FETCH_OBJ);



  endif;

?>
    
asked by anonymous 14.12.2016 / 03:34

2 answers

4

You have two options for catching more than one die in this context.

One of them is to do this:

while( $exames = $stm->fetch(PDO::FETCH_OBJ) ) {
    // este loop vai ser executado uma vez para cada linha.
    print_r( $exames ); // para você ver como o resultado vem neste caso
}

Manual:

  

link


The other is to retrieve everything in a single structure:

$exames = $stm->fetchAll()
print_r( $exames ); // para você ver como o resultado vem neste caso

Manual:

  

link

    
14.12.2016 / 04:36
0
<?php
require 'conexao.php';

// Recebe o id do exame do exame via GET
$id_exames = (isset($_GET['id'])) ? $_GET['id'] : '';


// Valida se existe um id e se ele é numérico
  if (!empty($id_exames) && is_numeric($id_exames)):

    // Captura os dados do exame solicitado
    $conexao = conexao::getInstance();
    $sql = "SELECT  id,codigo,data,exame,data2  FROM historico where id=:id";   
    $stm = $conexao->prepare($sql);
    $stm->bindValue(':id', $id_exames, PDO::PARAM_INT);
    $stm->execute();
    $exames = $stm->fetchAll(PDO::FETCH_OBJ);



  endif;

?>
    
14.12.2016 / 13:23