我想使用会话变量将page1.php中的值传递给page2.php。但是,我还没有成功。而不是在page2.php上只显示一个名称(单击的名称),而是显示page1.php中的所有名称。这是我的代码,
page1.php中
<?php
session_start();
$name_data = array();
?>
<?php
include('dbase.php');
// get the records from the database
if ($result = $mysqli->query("SELECT * FROM notes WHERE categoryname='Humanities' ORDER BY noteid"))
{
// display records if there are records to display
if ($result->num_rows > 0)
{
while ($row = $result->fetch_object())
{
?>
<div class="vdo-list">
<div class="vdo-title"><a href="preview.php">
<?php
$name_data[] = $row->notename;
echo "<h3>" .$row->notename. "</h3>";
?>
</div></a>
<?
$_SESSION['uname'] = $name_data;
?>
使page2.php
<?php
session_start();
?>
<div class="heading6">
<h1>
<?php
if(count($_SESSION['uname'])>0)
{
foreach ($_SESSION['uname'] as $uname)
{
echo $uname;
}
}
?>
</h1></div>
有人可以指出我做错了什么吗?任何努力都将受到高度赞赏。
答案 0 :(得分:0)
我认为您不需要在会话中保存所有结果。您可以成功查询所需内容并在第二页上仅使用 {
currentNr = ++count;
setName("Name"+currentNr);
setSurname("Surname"+currentNr);
}
选择所需的行。
对于您在此处使用的内容,假设点击的链接具有参数“$_GET
”,您可以在会话数组中检查并仅显示此项目:
name
编辑:
在链接中传递参数。在循环中,您可以添加:
foreach ($_SESSION['uname'] as $uname) {
if ($uname == $_GET['name']) {
echo $uname;
}
}
答案 1 :(得分:-1)
最后,这是一个完美的答案,
<强> page1.php中强>
<?php
$_SESSION['uname'] = $row->notename;
echo '<h3><a href="preview.php?name='.$row->notename.'">'.$row->notename.'<h3></a>';
?>
<强>使page2.php 强>
<?php
include ('dbase.php');
if(count($_SESSION['uname'])>0)
{
if($uname = $mysqli->query("SELECT * FROM `notes` WHERE `notename`='".$_GET['name']."'"))
{
$row=mysqli_fetch_array($uname,MYSQLI_ASSOC);
// $result=$uname->fetchAll(PDO::FETCH_ASSOC);
//foreach ($result as $row)
//{
echo $row['notename'];
//}
}
}
?>