Estou escrevendo uma pagina em que é feita uma leitura dos registros do banco e retorna seus ids onde na tela se monta um grid com 20 quadrados com informações diferentes, ao clicar no quadrado, abre o texto referente ao id dele, mas não quero passar o id pela url e sim via sessions, mas não estou conseguindo. a sessions só esta guardando o ultimo valor de id, gostaria se possivel de uma ajuda para dar uma luz a este problema pois já fiquei sem ideias.
abaixo segue o codigo que estou montando.
index.php <? // Destroi as sessões existentes session_start(); session_unset(); session_destroy(); // Inicia nova sessão session_start(); $sql = "SELECT * FROM banco WHERE pos = '1' AND tip = '2' AND ver !='n' ORDER BY id DESC"; $query = mysql_query($sql) or die(); while ($res=mysql_fetch_array($query)) { ?> <div> <div><a href="display.php" onclick="<? $_SESSION['id'] = $res['id']; ?>"><img src="<? if ($res['imagem'] != '') { echo "thumb.php?img=imgs/$res[pasta]/$res[imagem]\n";} else { ?> imgs/box/noim.jpg <?} ?>" border='0' align="bottom"></a></div> <div><? echo $res['title']; ?></div> <div>Local: <? echo $res['where']; ?></div> </div> <? } ?> </div> <? function set_id($id) { $_SESSION['id'] = $id; } ?>
display.php <? // Inicia sessão session_start(); $id = $_SESSION['id']; $sqlq = @mysql_query("SELECT * FROM banco WHERE id = '$id'"); $rows = @mysql_fetch_array($sqlq); ?> <div> <!-- Inicio dos dados --> <h1><? echo "$rows[title]" ?></h1> <div><b><? echo $rows[texto]; ?></b></div> <!-- Fim dos dados do Empreendimento --> </div>
com o codigo acima não importa em qual registro eu abra, só abre o mesmo porque a session só salva o ultimo valor passado no loop.
Edição feita por: Terrano, 25/06/2008, 21:44.