繁体   English   中英

使用while循环在Joomla中开始会话

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM