0

私は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 
    ) 
) 

ありがとうございました!

4

0 に答える 0