[英]calling function php joomla doesn't work
我写了一个与joomla数据库集成的简单php页面。 我编写了两个函数并调用了它们。
如果函数中的代码被写为非函数(在代码本身上),则它可以正常工作。 但! 当代码起作用并从页面调用时,整个屏幕变为白色。
代码很简单...第一个函数获取用户的ID并返回表中的数字总和。 第二个函数获取用户的用户名并返回其ID号。 为了确保功能正常工作,我向他们发送了特定的值(第一个函数为24,第二个为“ admin”)。
编码:
<?php
defined('_JEXEC') or die('Restricted access');
$items = $params->get('items', 10);
$db =& JFactory::getDBO();
function get_sum($uid)
{
$sum = 0;
$query = "SELECT orderpayment_amount
FROM #__j2store_orders
WHERE user_id = '$uid'
ORDER BY id DESC";
$db->setQuery( $query, 0 , $items );
$rows = $db->loadObjectList();
foreach($rows as $row)
{
$sum = $sum + $row->orderpayment_amount;
}
return "$sum";
}
function getTalId($u)
{
$query = "SELECT id
FROM #__users
WHERE username = '$u'
ORDER BY id DESC";
$db->setQuery( $query, 0 , $items );
$rows = $db->loadObjectList();
foreach($rows as $row)
{
return $row->id;
}
}
echo get_sum(42);
echo getTalId('admin');
?>
我因这个问题呆了两天。 我将不胜感激。 谢谢。
您正在经历的是死亡白屏。
很可能您已关闭错误报告功能(建议在生产环境中使用)t出现错误,但未在屏幕上显示。 您可以:
至于为什么发生这种情况,我想说您无法访问函数内部的$ db变量(请参见此答案 )。
如果代码在Jooomla MVC类模型中,则$db = $this->getDbo()
会执行类似的操作。
我鼓励您使用类而不是函数,您将获得一些额外的东西,例如自动加载
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.