[英]Session start in Joomla using a while loop
我有2个数据库,一个数据库安装了Joomla,另一个数据库则存储了我的个人数据。
我需要同时使用这两个数据库。
现在,我使用此查询对数据库进行了一段while
:
$query="Select * From lista where user_id='$id'";
$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result))
{
$ID_STRUCTURE=$row['ID'];
ECHO '<P>Modifica <a href="..../test/index.php/modifica">'.$row['struttura'].'</P>';
$session =& JFactory::getSession();
$session->set( 'myvar', $ID_STRUCTURE );
}
当我进入/test/index.php/modifica
页面/test/index.php/modifica
我使用以下代码:
$session =& JFactory::getSession();
$myvar= $session->get('myvar');
echo $myvar;
我必须只得到$ID_STRUCTURE
记者的$row['struttura']
如果我在while
使用数组,在另一页/test/index.php/modifica
使用foreach
,则将获取所有值。
我该如何解决?
不要直接使用while循环。 将其存储到数组或变量中,以便您可以反复使用它。 现在,它返回您的最后一个值,因为while循环已经运行。 因此,当您再次调用它时,它已经在它的最后一个记录中。
$query="Select * FROM `lista` WHERE `user_id` = '$id'";
$result = mysql_query($query) or die(mysql_error());
$a_Array = array();
while($row=mysql_fetch_array($result))
{
$a_Array['id'] = $row['ID'];
$a_Array['link'] = '<P>Modifica <a href="..../test/index.php/modifica">'.$row['struttura'].'</P>';
}
$session =& JFactory::getSession();
$session->set( 'myvar', $a_Array);
现在使用一个foreach()循环来获取另一页上的所有数据。 在该数组中是值$ myvar ['id']和$ myvar ['link']。
foreach($myvar as $value){
echo $value['id'].$value['link'];
}
当然,因为您总是在循环中覆盖它。 您需要创建一个数组,或者使键唯一。
while ($row = mysqli_fetch_array($result)) {
$ID_STRUCTURE = $row['ID'];
ECHO '<P>Modifica <a href="..../test/index.php/modifica">' . $row['struttura'] . '</P>';
$myvarArray[] = $ID_STRUCTURE;
}
$session = & JFactory::getSession();
$session->set('myvar', $myvarArray);
由于不建议使用mysqli或PDO而不是mysql函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.