php - 如何在会话变量中保存从数据库中提取的数组以将其发送到 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";
}
推荐阅读
- android-studio - 如何折叠所有语句(包括 if else、forloop)?
- php - 如何将 cmd 权限授予 apache?
- php - 如何通过 Laravel 中的外键检索数据?
- java - 调用 `ProcessHandle` 的 `parent().get()` 时出现“没有值”
- swift - 是否可以从动画控件驱动非视觉属性?
- python-2.7 - 如果存在则替换以字符串开头的文件中的行,如果不存在则添加
- php - 找到比“gethostbyname”更快的功能?
- javascript - 所有 javascript 数组和对象方法的大 O
- android - 如何在 UiAutomator 测试中获取材质编辑文本
- laravel - 根据他们的角色验证电子邮件后,如何重定向到第 2 步页面?