数组php检索值

时间:2014-04-01 16:37:09

标签: php arrays

我使用php和mysql做了一个Joomla模块,一个函数正确地提取了一个用户,然后将结果传递给另一个提取数组的函数。

这些是班级

<?php

class modUno
{

public static function due()
{

$db = JFactory::getDBO();   
$query = "SELECT userid FROM #__session WHERE EXISTS ( SELECT 'avatar, cb_skipe' FROM #__comprofiler) ORDER BY RAND() LIMIT 1;";
$db->setQuery($query);
$result = $db->loadResult();
return $result;

}

public static function tre()
{

$risultato = modUno::due();
$db = JFactory::getDBO();
$query = "SELECT avatar, cb_skipe FROM #__comprofiler WHERE id = '{$risultato}'; ";
$db->setQuery($query);
$result = array($db->loadResult());
return $result; 

} 
}
?>

然后我用这些模块检索值

<?php

defined( '_JEXEC' ) or die( 'Restricted access' );
require_once( dirname(__FILE__).'/helper.php' );

$foto = ? i dont know ;
$skipe = ? i dont know ;
require JModuleHelper::getLayoutPath('mod_chat');
?>

我如何检索数组的值(两个值)并分配给$ foto和$ skipe?

1 个答案:

答案 0 :(得分:0)

我并非100%确定您的最终目标是什么,但我已经注意到的一些有用的内容如下所示:

1)在modUno :: due();方法看起来您正在尝试检索登录用户的用户ID。如果是这种情况,Joomla提供了一种核心方法,可以轻松检索当前登录的用户对象。

$user = JFactory::getUser();
$user_id = $user->id;

或者,如果您只需要在没有整个用户对象的情况下访问user_id。

$user_id = JFactory::getUser()->id;

2)从modUno :: tre()中检索值时;方法,你应该使用与Joomla的Dbo对象不同的方法来检索结果集。

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('avatar, cb_skipe');
$query->from($db->quoteName(''));
$query->where('id=' . (int) JFactory::getUser()->id);
$db->setQuery($query);
$db->execute();
return $db->returnObject();

return $db->returnAssoc();

3)现在您可以像这样分配值。

//调用static helper方法加载结果集。

$result = modUno::tre();

//如果您使用了loadAssoc()

$foto = $result['avatar'];
$skipe = $result['cb_skipe'];

//如果你使用了loadObject()

$foto = $result->avatar;
$skipe = $result->cb_skipe;