我有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
时,我使用此代码:
$session =& JFactory::getSession();
$myvar= $session->get('myvar');
echo $myvar;
我必须只获取通讯员$ID_STRUCTURE
的{{1}}。
如果我在$row['struttura']
中使用数组而在另一页while
中使用foreach
,则会获得所有值。
我该如何解决?
答案 0 :(得分:0)
不要直接使用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 [&#39; id&#39;]和$ myvar [&#39; link&#39;]。
foreach($myvar as $value){
echo $value['id'].$value['link'];
}
答案 1 :(得分:0)
当然,因为你总是在循环中覆盖它。您需要创建一个数组,或使该键成为唯一的。
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函数,因为它们已被弃用。