0

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

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

我已将以下代码放入(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;
            }

数据将从用户和页面表中选择,并将用于显示用户图像。请建议。

4

2 回答 2

1

有一项服务可以通过 is 获取用户详细信息

$user_id = Phpfox::getUserId();
$aRow  = Phpfox::getService('user')->getUser($user_id);

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

于 2014-05-06T12:46:55.363 回答
0

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

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

在 JS 文件中,您可以像这样调用“控制器函数”:

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

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

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

希望能帮助到你

于 2014-04-05T09:50:31.677 回答