Passando um array por uma session

Enviada por Roberto Assis 
Roberto Assis
Passando um array por uma session
02 de September de 2002 às 07:15PM
Caros colegas estou com um pequeno problema em passar um array que tenha mais q uma linha (matrix) dentro de uma session.

Já tentei todas as formas possiveis e nao consegui.

apenas consigo passar um array simples de uma linha só!!

alguém possa me ajudar?

Grato
Roberto
André de Castro Zorzo
Re: Passando um array por uma session
02 de September de 2002 às 07:21PM
$myarray = array ('id' => '0001', 'ds' => 'teste');

session_start();
session_register("myarray");

isso para mim funciona, e p/vc ?

:-)
Roberto Assis
Re: Passando um array por uma session
02 de September de 2002 às 07:51PM
quando passo um array simples de uma linha ele passa sem problema.

mas quando vou ao banco faço um select e dou um fetch_row ou fetch_array e passo o resultado para a outra página em forma de session.

por exemplo:
<b>
<?
session_start();
session_register("result");
$results=mysql_query("SELECT * FROM alunos");
$result=mysql_fetch_row($results);
header("location:index2.php");
?>
</b>

Nesta tabela alunos tenho vários cadastros.

e quando executo esse array e envio para outra página para trabalha com ele "por exemplo para listar ele na tela de outra página executo tal comando
<b>
<?
while(each($result)){
echo "$result[1] - $result[2]";
}
?>
</b>

resumindo...
a página q trabalho ela dá muitos reloads dentro dela e estou querendo evitar alguns selects. E a melhor opcao q achei foi essa... executando ele na página anterior

grato
André de Castro Zorzo
Re: Passando um array por uma session
02 de September de 2002 às 08:20PM
<?
session_start();
$results=mysql_query("SELECT * FROM alunos");
$result=mysql_fetch_row($results);
session_register("result");
header("location:index2.php");
?>

tenta assim !

:-)
Roberto Assis
Re: Passando um array por uma session
02 de September de 2002 às 08:48PM
:) nada ainda

ele sabe quantas linhas tem a matrix
mas nao consegue incrementar no comando q da na outra página
while (each($result)){

}
André de Castro Zorzo
Re: Passando um array por uma session
02 de September de 2002 às 09:00PM
<?
session_start();
$results=mysql_query("SELECT * FROM alunos");
$result=mysql_fetch_row($results);
session_register("result");
header("location:index2.php");
?>

mas isso aqui, só retorna uma linha...


<?
session_start();
$results=mysql_query("SELECT * FROM alunos");

while ($result = mysql_fetch_array($results)) {

$myarray[] = array(
'campo' => 'valor',
'campo' => 'valor'
);
}

session_register("myarray");
header("location:index2.php");
?>

e na página index2.php tenta fazer

<?
session_start();
print_r($mysql);
?>
Roberto Assis
Re: Passando um array por uma session
02 de September de 2002 às 09:42PM
beleza!!
só q tem um porem

$myarray[] = array(
'campo' => 'valor',
'campo' => 'valor'
);

ao invés de 'campo' => 'valor',

eu tive q substituir a aspas simples para duplas

mas blz
passei o valor e as indicacoes das linhas do array

como q quebro esse array e jogo dentro de um laço para poder tabelar os dados

por enquanto fico grato
roberto
Roberto Assis
Re: Passando um array por uma session
02 de September de 2002 às 09:50PM
ops consegui aqui

usei o comando
print_r($linha[2][nm_evento]);

valeu pela força andré

[ ]'sss
Roberto
André de Castro Zorzo
Re: Passando um array por uma session
02 de September de 2002 às 09:51PM
for ($a = 0; $a < count($myarray); $a++) {

echo $myarray[$a]['campo']."<br>";

}

acho que isso deve funcionar !
André de Castro Zorzo
Re: Passando um array por uma session
02 de September de 2002 às 09:52PM
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.