Как правильно преобразовать массив из sql в данный для работы?

Добрый день.
Я не сильно глубоко шарю, но появилась задача вывести на страницу данные из некой таблицы sql.
Вот до чего я дошел:
<?php
$host = 'localhost;
$username = 'root';
$password = 'toor';
$dbname = 'new';
$port = 3306;
$charset = 'utf8';

$dsn = "mysql:host=$host;dbname=$dbname;port=$port;charset=$charset";
$xpdo = new xPDO($dsn, $username, $password);

$results = $xpdo->query("SELECT `Users`.`ID` AS `ID`,
					`Users`.`Name`,
					`Mail`,
					`Position`,
					`Department`,
					`WorkPhone`,
					`Cellphone`,
					((DAYOFMONTH(Birthday) = DAYOFMONTH(NOW()))
					& (MONTH(Birthday) = MONTH(NOW())))
					AS bday
				FROM `new`.`Users`
				WHERE NOT Fired AND Department != ''
				ORDER BY `Department`, `Name`");
				
			
while ($r = $results->fetchAll(PDO::FETCH_ASSOC))
{
echo "<div style='font-size:9pt; color:#000; background:#fff; border:1px dashed #000;'>";
echo "<pre style='padding:10px;'>";
print_r($r);
echo "</pre>";
echo "</div>";
      exit;
}
Выдает список всего в:
Array
(
    [0] => Array
        (
            [ID] => 530
            [Name] => User 530
            [Mail] => user530@www.ru
            [Position] => Stuff
            [Department] => Game
            [WorkPhone] => 1111
            [Cellphone] => +7123456789
            [bday] => 0
        )

    [1] => Array
        (
            [ID] => 38
            [Name] => User 38
            [Mail] => user38@www.ru
            [Position] => Stuff
            [Department] => Game
            [WorkPhone] => 1111
            [Cellphone] => +7123456789
            [bday] => 0
        )
.......
Подскажите плиз как мне это в html оболочку засунуть?
Pavel
29 ноября 2022, 10:35
modx.pro
141
0

Комментарии: 5

Артур Шевченко
29 ноября 2022, 11:14
+1
Посмотрите в сторону таких методов Modx как getChunk и parseChunk.
    Pavel
    29 ноября 2022, 11:23
    0
    Читал, но не понял, как это использовать в случае внешней БД
      Алексей Смирнов
      29 ноября 2022, 13:04
      0
      Если вам не нужна связь с MODX и вам это нужно примерно 1 раз в столетие…
      то самый быстрый вариант накостылить html в самом файле.
      Если связь есть и есть еще какие-то обстоятельства, которые мы не знаем, то нужно подключить API MODX и применить метод $modx->getChunk

      без MODX еще есть пару вариантов, но тогда погружаться в php поглубжее надо.
        Артур Шевченко
        29 ноября 2022, 15:40
        0
        Если вы на сайте с modx получаете данные, не важно откуда, вы можете использовать его методы для вывода их на фронт. Если вы получаете данные во внешнем файле, то чтобы использовать методы modx, надо его подключить, а дальше можно творить что душе угодно.
      Pavel
      29 ноября 2022, 13:14
      0
      Данные обновляются постоянно.
      Нашел способ вывести это через echo c html разметкой, но не уверен, что так правильно.
      $mysqli = new mysqli("localhost", "root", "toor", "new", "3306", "utf8");
      
      $queryfull = "SELECT `Users`.`ID` AS `ID`,
      					`Users`.`Name`,
      					`Mail`,
      					`Position`,
      					`Department`,
      					`WorkPhone`,
      					`Cellphone`,
      					((DAYOFMONTH(Birthday) = DAYOFMONTH(NOW()))
      					& (MONTH(Birthday) = MONTH(NOW())))
      					AS bday
      				FROM `new`.`Users`
      				WHERE NOT Fired AND Department != ''
      				ORDER BY `Department`, `Name`";
      
      $fullresult = $mysqli->query($queryfull);
      
          echo "
              <div class=\"uk-panel uk-panel-box uk-panel-contents uk-container\">";
          echo "
              <div class=\"uk-card uk-card-default uk-card-body uk-overflow-auto\">";
          echo "
              <table class=\"uk-table\" border=0 width=\"100%\">";
      
      while ($full = $fullresult->fetch_object())
      {
              if ($dept != $full->Department)
          {
              $dept = $full->Department;
              echo "
                  <tr align=\"left\">
      .................
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5