私はphpのプロではありませんが、これは法外なことです...私はこの問題に何日も苦労してきましたが、本当に簡単でなければならないと思います...
私はこれをJoomlaのコンポーネントの関数に持っています:
function gTickets()
{
$user =& JFactory::getUser();
$user_id = (int) $user->get('id');
$db = JFactory::getDBO();
$db->setQuery($db->getQuery(true)
->select('*')
->from("#__usergroups"));
$groupss=$db->loadRowList();
$userGroups = $user->groups;
$return=array();
foreach ($groupss as $key=>$g){
if (array_key_exists($g[0],$userGroups))
array_push($return,$g[0]); }
$groupss=$return[0];
$db1 = JFactory::getDBO();
$db1->setQuery($db1->getQuery(true)
->select('*')
->from("#__user_usergroup_map")
->where("group_id = '$groupss'")
);
$groupss1=$db1->loadRowList();
$return1=array();
foreach ($groupss1 as $keya)
{
$user_id = $keya[0]; // the id of users
$where = "";
if ($this->is_staff)
$where .= " AND t.`staff_id`='".$user_id."'";
else
$where .= " AND t.`customer_id`='".$user_id."'";
$tickets = $this->_getList(
"SELECT t.id, t.subject, t.last_reply_customer, s.name AS status_name FROM
#__rsticketspro_tickets t LEFT JOIN #__rsticketspro_statuses s ON
(t.status_id=s.id) WHERE 1 $where ORDER BY `last_reply` DESC", 0,
$this->params->get('tickets_limit', 3));
print_r($tickets);
return $tickets;
}
結果のすべての要素を $tickets 配列に入れると思っていました...そしてそうではありませんでした...配列を印刷すると、配列が1つだけ必要な場合でも、複数の配列が得られます。
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
)
Array (
[0] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
これらの値を格納するグローバル配列を作成しようとしましたが、何も...同じことが起こりません...これは難しいとは思いませんが、解決策を探す方法がわかりません...
配列を次のようにしたいと思います。
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[2] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
ありがとうございました!