如何在phpfox中获取当前用户数据

时间:2014-04-05 07:26:40

标签: javascript jquery phpfox

主题:从数据库中获取当前用户(某些特定字段)数据并将其显示在欢迎屏幕上。

UI的说明:在注册页面上,会出现一个下拉列表。当用户选择一个选项时,它将触发一个事件来获取用户图像以显示在欢迎页面上。

我在(pages.process)模块中放入了以下代码

  function getUserId($iUserId)
        {
        $aRows = $this->database()->select('p.image_path')->from($this->_sTable, 'p')
->Join(Phpfox::getT('user') , 'u', ' p.page_id = u.college_name') -> 
        where('u.college_name = p.page_id AND u.user_id = ' . 
    (int)$iUserId)->execute('getRows');
            return $aRows;
            }

数据将从用户& Pages Table,将用于显示用户图像。请建议。

2 个答案:

答案 0 :(得分:1)

有一项服务可以通过

获取用户详细信息
$user_id = Phpfox::getUserId();
$aRow  = Phpfox::getService('user')->getUser($user_id);

这将为您提供用户详细信息

答案 1 :(得分:0)

为了提高性能,请检查您正在更改的页面是否已经拥有您需要的信息,如果页面在创建时已经具有该信息并且您可以将其存储在javascript中,则可能不需要在ajax中查询数据库。

既然你提到了一个ajax情况(在下拉时触发一个事件来查询数据库),那么你需要包含一个JS文件(我的建议,因为你可以从插件中执行此操作),还有其他方法,但这是在我看来最好的。 如果您需要帮助,请阅读有关插件的my article。我的建议是编写一个插件,将你的JS文件包含在页面中。

在JS文件中,您可以调用"控制器功能"像这样:

$.ajaxCall('mymodule.myfunction', 'param1=value1&param2=value2');

这将运行函数" myfunction"在文件/module/mymodule/include/component/ajax/ajax.class.php中 从这个ajax文件中你可以调用"服务功能"并将代码发送到浏览器,例如:

$value = Phpfox::getService('mmodule')->someOtherFunction();
$this->call('alert("' . $value . '");');

希望有所帮助