PHP массив с данными MySql в файл JS в Joomla

0

Я пытаюсь сделать календарь с днями рождения в Joomla, и у меня есть этот код:

include '../../../../connect.php';
$sql="select * from intranetUsers"; 
$result = ($db->setQuery($sql));
$USER_hbd = array();
$USER_shortName = array();

if( $rows = $db->loadObjectList() )
{
  foreach( $rows as $row )
  {
      $USER_hbd[] = $row->USER_hbd;
      $USER_shortName[] = $row->USER_shortName;
      echo  "var Events  = '".$USER_hbd[] = $row->USER_hbd."':"."'<a href='#'><span>'".$USER_shortName[] = $row->USER_shortName."</span></a>'";
  }
}

И я хотел бы получить это

var Events = {
    '01-02-2018' : '<a href="#">'+'Luz Naranjo<span>(Campo Pereira)</span></a>',
    '01-09-2018' : '<a href="#">'+'Martha Leguizamon<span>(Campo Armenia)</span></a>'+
                   '<a href="#"> Stefania Rosso<span>(Comercial Medellín)</span></a>',
    '01-28-2018' : '<a href="#">'+'Lorena Cortes<span>(Campo Barranquilla)</span></a>'
};

Но если поставить эхо внутри предлога, я получил следующее:

var Events = '01-02-2018':'Luz Naranjo'
var Events = '01-09-2018':'Martha Leguizamon'
var Events = '01-09-2018':'Stefania Rosso'
var Events = '01-28-2018':'Lorena Cortes'

И если я поставлю эхо после того, как я получил только последний результат

var Events = '01-28-2018':'Lorena Cortes'

Я не знаю, как просто иметь один var Events со всей информацией и заметить, что в некоторых случаях два человека относятся к одной дате (день рождения). Надеюсь, ты поможешь мне, спасибо.

Теги:
joomla

1 ответ

0

вы должны сохранить данные php, в ассоциативный массив, а затем использовать json_encode

$events = array();
if( $rows = $db->loadObjectList() )
{
  foreach( $rows as $row )
  {
    $events[$row->USER_hbd][] = $row->USER_shortName;
  }
}
echo json_encode($events);

Результат не будет превышен, как вы хотите, но он будет более полезен, чем то, что у вас есть сейчас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню