Php 使用while循环在Joomla中启动会话
我有两个数据库,一个装有Joomla,另一个装有我的个人数据 我需要与这两个数据库同时工作 现在,我使用以下查询在数据库中执行Php 使用while循环在Joomla中启动会话,php,session,joomla,while-loop,Php,Session,Joomla,While Loop,我有两个数据库,一个装有Joomla,另一个装有我的个人数据 我需要与这两个数据库同时工作 现在,我使用以下查询在数据库中执行,同时执行: $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'];
,同时执行:
$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 );
}
我必须仅获取对应的$row['struttura']
的$ID\u结构
如果我在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);
当然,因为您总是在循环中覆盖它。您需要创建一个数组,或者使密钥唯一
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);
while($row=mysqli\u fetch\u数组($result)){
$ID_结构=$row['ID'];
回声'修改'.$row['struttura'].
';
$myvarArray[]=$ID\u结构;
}
$session=&JFactory::getSession();
$session->set('myvar',$myvarArray);
使用mysqli或PDO代替mysql函数,因为它们已被弃用。不要再使用mysql\u query()!它已被弃用!:)请使用PDO或MYsqli。你能给我一个例子吗?谢谢…所以我是php的初学者…我如何在另一页中执行foreach()循环?考虑到调用另一页中的会话,我使用此代码:$session=& jCuts::GeSession();myvar=$session->get('myvar');echo$myvar;我只需要引用结构I的ID_结构click@myfriend请参阅foreach的更新答案。您需要将$myvar设置为会话变量,其中包含数组,就像我在第一个示例中展示的那样。
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);