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?