Como posso criar várias $_SESSION em uma unica função?

Para ser mais claro, estou desenvolvendo uma aplicação em PHP e SQL simples, que tem quebrado minha cabeça nos ultimos dias…

<?php session_start();      include 'header.php';      include 'db.php';      $  pesquisa = isset($  _POST['busca']) ? $  _POST['busca'] : '';     $  consulta = "SELECT * FROM clientes WHERE nome LIKE '%$  pesquisa%'";     $  con = $  mysqli->query($  consulta) or die($  mysqli->error); ?>      <body>         <div class="container">             <div class="title" style="margin-top: 5px;">                 <h3>CLIENTES</h3></div>             <div class="row" style="margin-top: 5px;">                 <?php while ($  dados = $  con->fetch_array()) { ?>                     <div class="col">                         <div class="card" style="width: 18rem;">                             <img src="clientes/<?php echo $  dados["foto"] ?>" class="card-img-top" alt="client" style="width: 350px; height: 300px;">                             <div class="card-body">                                 <h5 class="card-title"><?php echo $  dados['nome'] ?></h5>                                 <p class="card-text"><?php echo $  dados['telefone'] ?></p>                                 <p class="card-text">Cliente nº<?php echo $  dados['id'];                                  $  _SESSION["ID"] = $  dados['id']; ?></p>                                 <a href="teste.php" class="btn btn-primary">Ler Mais</a>                             </div>                         </div>                     </div>                 <?php } ?>             </div>         </div>     </body>

essa é a pagina onde ele exibe o conteúdo no meu banco de dados SQL. Tudo corre bem, até o momento em que eu preciso abrir em outra página apenas o conteudo referente a um ID unico, como a SESSION que criei ali. Porém, apesar de dentro de uma estrutura de repetição, aquela vaiavel $ _SESSION só reconhece o primeiro ID.

<?php session_start(); include 'db.php'; 	$  id = $  _SESSION["ID"]; 	$  consulta = "SELECT * FROM clientes WHERE id = '$  id'";     $  con = $  mysqli->query($  consulta) or die($  mysqli->error);      while($  dados = $  con->fetch_array()){     	echo $  dados = $  dados['id'];    		     }   ?>

E sempre que tento buscar essa super global aqui nessa pagina de teste, ela me retorna o mesmo resultado, que sempre é o primeiro dado inserido no banco, não importa quantos eu coloque. Alguém por favor me da uma luz pra sair desse impasse?