Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Me deparei com um problema.
Tenho um sistema que eu preciso que o resultado da query gerado seje gravado em uma session.
Minha query é a seguinte:
<table class="tbul" border="0" width="100%" cellpadding="0" cellspacing="0">
<? while ($dadoUL = @mysql_fetch_object($queryUL)) {?>
<tr<? if($nL == 1) { echo ' bgcolor="#EEFFDD"'; } ?>>
<td width="70px" align="left"><? if($nL == 1) { echo '<font color="#666666" size="3"><b>'; } ?><?=$filter->moneyOut($dadoUL->valorA)?><? if($nL == 1) { echo '</font></b>'; } ?></td>
<td align="right"><? if($nL == 1) { echo '<font color="#666666" size="3"><b>'; } ?><?=$dadoUL->login?><? if($nL == 1) { echo '</font></b>'; } ?></td>
</tr>
<? $nL++; } ?>
</table>
Como faço para que isso fique dentro de uma session? Para que eu possa usar posteriormente sem precisar fazer uma nova consulta, apenas pegando o valor da session, ex: echo $_SESSION['resultado'];
Vlw!
>
Oi!
Pelo que entendi, voce quer gravar os dados, a array gerada pelo while na session, da pra fazer sim.
Ao terminar a impressao do while, coloque o array $dadoUL na $_SESSION['resultado'], e antes de executar a query e o while, verifique se $_SESSION['resultado'] ja nao existe, se existir use foreach para percorrer o array ao inves do while percorrendo o resultado.
Qualquer duvida poste o seu codigo a partir da consulta [ mysql_query() ].
Abraço.
Não intendi amigo, pode ser mais claro?
Eu quero que fique assim:
$_SESSION['resultado'] = <table class="tbul" border="0" width="100%" cellpadding="0" cellspacing="0">
<? while ($dadoUL = @mysql_fetch_object($queryUL)) {?>
<tr<? if($nL == 1) { echo ' bgcolor="#EEFFDD"'; } ?>>
<td width="70px" align="left"><? if($nL == 1) { echo '<font color="#666666" size="3"><b>'; } ?><?=$filter->moneyOut($dadoUL->valorA)?><? if($nL == 1) { echo '</font></b>'; } ?></td>
<td align="right"><? if($nL == 1) { echo '<font color="#666666" size="3"><b>'; } ?><?=$dadoUL->login?><? if($nL == 1) { echo '</font></b>'; } ?></td>
</tr>
<? $nL++; } ?>
</table>Simples. Use o mysql_fetch_array.
<?php
session_start();
$usuario = $_POST['usuario'];
$qry = mysql_query("SELECT*FROM tabela WHERE cedula='$usuario'");
$lista = mysql_fetch_array($qry);
$nome = $lista['nome'];
$_SESSION['nome'] = $nome;
?>
Um pequeno exemplo, só customizar da sua maneira. Falou carinha!
>
Simples. Use o mysql_fetch_array.
<?php
session_start();
$usuario = $_POST['usuario'];
$qry = mysql_query("SELECT*FROM tabela WHERE cedula='$usuario'");
$lista = mysql_fetch_array($qry);
$nome = $lista['nome'];
$_SESSION['nome'] = $nome;
?>
Um pequeno exemplo, só customizar da sua maneira. Falou carinha!
Acho que não ficou bem explicado.
Eu quero que a tabela inteira fique gravado numa sessão.
Porque eu preciso disso...
Caso eu perda a conexão com o banco de dados, ele tem essas info na sessão e mostra na pagina mesmo não conseguindo fazer uma nova consulta.
Tem de por entre aspas e escapar:
<?php
$str = "<table class=\"tbul\" border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">";
while ($dadoUL = @mysql_fetch_object($queryUL)) {
$str .= "
<tr
<td width=\"70px\" align=\"left\">".($filter->moneyOut($dadoUL->valorA))."</td>
<td align=\"right\">".($dadoUL->login)."</td>
</tr>";
}
$str .= "</table>";
Oi!
Pelo que entendi, voce quer gravar os dados, a array gerada pelo while na session, da pra fazer sim.
Ao terminar a impressao do while, coloque o array $dadoUL na $_SESSION['resultado'], e antes de executar a query e o while, verifique se $_SESSION['resultado'] ja nao existe, se existir use foreach para percorrer o array ao inves do while percorrendo o resultado.
Qualquer duvida poste o seu codigo a partir da consulta [ mysql_query() ].
Abraço.