如何在会话变量中保存从数据库中提取的数组以将其发送到 php 中的其他网页
how to save in a session variable an array extracted from a database to send it to other web pages in php
我有一些数据,而不是我在处理页面中从数据库中恢复的数据,然后我尝试通过会话变量将这些数据发送到其他网页,就像那样:
while($enr = mysqli_fetch_assoc($res))
{
$_SESSION['med'] = $enr;
header("location: recherche.php");
//print_r($_SESSION['med']);
}
当我在处理页面中 print_r($_SESSION['med']);
时,我有一个这样的数组 :
Array ( [nom] => CASPER [prenom] => ARMAND )
Array ( [nom] => WILLIAMS [prenom] => GEORGE )
Array ( [nom] => VANASTEN [prenom] => ROBERT )
Array ( [nom] => MARTIN [prenom] => ALAIN )
Array ( [nom] => Jacque [prenom] => ERIC )
Array ( [nom] => LUCAS [prenom] => ANNIE )
但是当我尝试将此数据数组检索到其他页面时:
<?php
if (isset($_SESSION['med'])) {
foreach ($_SESSION['med'] as $champ) {
echo "$champ -----";
}
} else {
echo "no data";
}
?>
我只有最后一个:
LUCAS -----ANNIE -----
那么,我怎样才能拥有所有数据?
你的print_r之所以好看,是因为你投入了循环。您在每一行重写 $_SESSION['med'] 变量,最后一行是您稍后打印会话时得到的结果。
你应该试试这个:
while($enr = mysqli_fetch_assoc($res))
{
$_SESSION['med'][] = $enr;
}
//print_r($_SESSION['med']);
header("location: recherche.php");
然后:
if (isset($_SESSION['med'])) {
foreach ($_SESSION['med'] as $champ) {
echo $champ['nom']." -----";
}
} else {
echo "no data";
}
我有一些数据,而不是我在处理页面中从数据库中恢复的数据,然后我尝试通过会话变量将这些数据发送到其他网页,就像那样:
while($enr = mysqli_fetch_assoc($res))
{
$_SESSION['med'] = $enr;
header("location: recherche.php");
//print_r($_SESSION['med']);
}
当我在处理页面中 print_r($_SESSION['med']);
时,我有一个这样的数组 :
Array ( [nom] => CASPER [prenom] => ARMAND )
Array ( [nom] => WILLIAMS [prenom] => GEORGE )
Array ( [nom] => VANASTEN [prenom] => ROBERT )
Array ( [nom] => MARTIN [prenom] => ALAIN )
Array ( [nom] => Jacque [prenom] => ERIC )
Array ( [nom] => LUCAS [prenom] => ANNIE )
但是当我尝试将此数据数组检索到其他页面时:
<?php
if (isset($_SESSION['med'])) {
foreach ($_SESSION['med'] as $champ) {
echo "$champ -----";
}
} else {
echo "no data";
}
?>
我只有最后一个:
LUCAS -----ANNIE -----
那么,我怎样才能拥有所有数据?
你的print_r之所以好看,是因为你投入了循环。您在每一行重写 $_SESSION['med'] 变量,最后一行是您稍后打印会话时得到的结果。
你应该试试这个:
while($enr = mysqli_fetch_assoc($res))
{
$_SESSION['med'][] = $enr;
}
//print_r($_SESSION['med']);
header("location: recherche.php");
然后:
if (isset($_SESSION['med'])) {
foreach ($_SESSION['med'] as $champ) {
echo $champ['nom']." -----";
}
} else {
echo "no data";
}