2013-02-20 63 views
0
while ($row = mysql_fetch_array($result)) 
{ 
echo '<a href="/somepage.php">'.$row['somevalue'].'</a>'; 
} 

现在,我需要打开一个$_SESSION['somevalue'],具体取决于点击哪个链接。通过链接点击控制的php会话变量

这怎么办?

+0

'$ _SESSION ['somevalue'] = $ row ['somevalue']'? – 2013-02-20 11:49:27

+0

use session_start();在页面开始处添加$ _SESSION ['somevalue'] = $ row ['somevalue'];在while循环 – 2013-02-20 11:50:31

+0

@Usman不会工作,会话将采取循环的最后一个值 – pleaseDeleteMe 2013-02-20 11:52:38

回答

0

您可以用链接发送GET参数:在somepage.php

while ($row = mysql_fetch_array($result)) 
{ 
    echo '<a href="/somepage.php?sessvalue='.$row['someothervalue'].'">'.$row['somevalue'].'</a>'; 
} 

你可以检查变量

if ($_GET['sessvalue'] == 'somevalue') { 
    // do something 
} 
else { 
    // do something else 
} 
+0

我问$ _SESSION,因为我想避免通过它链接 – pleaseDeleteMe 2013-02-20 11:56:57

+0

然后,我认为唯一的方法是使用ajax当一个链接被点击,发送一个变量,标识链接,并获取你想要的值 – oleron 2013-02-20 11:58:43

+0

也许你'再右吧 – pleaseDeleteMe 2013-02-20 11:59:31

0

首先,将所需值传递给页面。

while ($row = mysql_fetch_array($result)) 
{ 
<a href="/somepage.php?v=' . $row['somevalue'] . '">'.$row['somevalue'].'</a>'; 
} 

sompage.php

$val = $_GET['v']; 
// now, open $_SESSION[$val]; 

希望它能帮助。

+0

我问$ _SESSION,因为我想避免通过它通过链接 – pleaseDeleteMe 2013-02-20 11:53:24

+0

噢好吧...明白错误。但是,即使您必须将标识符传递给映射到所需会话变量的链接。 – 2013-02-20 11:57:06

+0

你能告诉我一个我能做什么的例子吗? – pleaseDeleteMe 2013-02-20 12:35:55

0

然后尝试Session变量即动态名称

<?php 
session_start(); 
$i=0; 
while ($row = mysql_fetch_array($result)) 
{ 
echo '<a href="/somepage.php">'.$row['somevalue'].'</a>'; 
$i++; 
$_SESSION[$i]=$row['somevalue']; 

} 
?> 

希望它有帮助