Помогите с массивом MD с шаблоном...

Tiberian

Пользователь
Регистрация
16.10.10
Сообщения
4
Реакции
0
Баллы
1
Мне нужна помощь с этой проблемой с моим массивом. Я пытаюсь отобразить «жалобы», перечисленные по дате.
Я использую этот шаблон -> ( https://github.com/isRuslan/php-template )
Я не знаю, как зациклиться внутри цикла (и возможно ли это с помощью этого шаблона).

Я все еще новичок в PHP/MySQL (и изучаю его). Как бы вы это сделали?

Вот соответствующие части кода. Дайте мне знать, если вам нужно больше.



$template->assign( 'items', array( array( 'name' => 'First' ), array( 'name' => 'Second' ) ) );


PHP: HTML:
{loop COMPLAINTS} {ID} {DATE} {COMPLAINT} {end loop}
HTML: это дает мне каждую жалобу в отдельной «таблице» или разделе страницы, я ХОЧУ, чтобы жалобы были перечислены по дням IE:
-> День
--> список жалоб за этот день
-> День
--> список жалоб за этот день
-> День
--> список жалоб за этот день

и т. д. Я даже не понимаю, как использовать эту часть кода шаблона, это имеет к этому какое-то отношение?
// Pull all the post to display $sql = "SELECT * FROM complaint ORDER BY c_time DESC LIMIT 20"; $result = $db->sql_query($sql); $complaints = array(); while($thisdata = $result->fetch_assoc()) { $complaints[] = array( 'ID' => $thisdata['id'], 'DATE' => date("g:i a - M j, Y", $thisdata['c_time']), 'COMPLAINT' => nl2br($thisdata['complaint']), 'COMPLAINT_EDIT'=> $thisdata['complaint']); } $template->assign( 'CURRENT_DATE', date( "M j, Y - g:i a", time())); $template->assign( 'COMPLAINTS', $complaints); $template->parse('templates/default/complaint.html');
PHP: Мне никогда не удавалось использовать эту часть кода. В любом случае, любая помощь приветствуется.
Помогите с массивом MD с шаблоном...
 

vladtravnik

Пользователь
Регистрация
03.12.15
Сообщения
2
Реакции
0
Баллы
1
добро пожаловать, мне нравится ваше имя пользователя :0

рассмотрите возможность настройки вашего массива следующим образом


Код:
<?php
$complaints = [1000 => [ ['ID' => 1, 'DATE' => '2020-05-01', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 2, 'DATE' => '2020-05-01', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 3, 'DATE' => '2020-05-01', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ']
], 2000 => [ ['ID' => 1, 'DATE' => '2020-06-02', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 2, 'DATE' => '2020-06-02', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 3, 'DATE' => '2020-06-02', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'] ], 3000 => [ ['ID' => 1, 'DATE' => '2020-07-03', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 2, 'DATE' => '2020-07-03', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'], ['ID' => 3, 'DATE' => '2020-07-03', 'COMPLAINT' => 'XYZ', 'COMPLAINT_EDIT' => 'XYZ'] ] ];
?><table> <?php
foreach($complaints as $k => $v){ $first = true; foreach($v as $row){ echo "<tr><td>".($first?$row['DATE']:'&nbsp;')."</td><td>{$row['ID']}</td><td>{$row['COMPLAINT']}</td></tr>"; $first = false; }
} ?>
</table>

Код (php): теперь, если вы выполните простой foreach($complaints as $k => $v), вы узнаете, когда изменится $k, и отобразите новую дату.

Я сомневаюсь в использовании вами системы шаблонов, они могут быть отличными, но могут и замедлить вас, потому что вам придется изучить еще одну вещь. Генерировать HTML не так уж и сложно.

while($thisdata = $result->fetch_assoc()) { $complaints[$thisdata['c_time']][] = array( 'ID' => $thisdata['id'], 'DATE' => date("g:i a - M j, Y", $thisdata['c_time']), 'COMPLAINT' => nl2br($thisdata['complaint']), 'COMPLAINT_EDIT'=> $thisdata['complaint']); }
Код (php):
 

sergeant32

Пользователь
Регистрация
13.08.13
Сообщения
12
Реакции
0
Баллы
1
Спасибо за помощь. Это примерно то, чего я хочу. Моя самая большая проблема сейчас — заставить его работать с классом шаблона, который я использую.

образец массива, который у меня есть сейчас:
Код:
Array
( [Sep 14, 2020] => Array ( [0] => Array ( [ID] => 63 [DATE] => 4:02 pm - Sep 14, 2020 [COMPLAINT] => test 7 [COMPLAINT_EDIT] => test 7 ) [1] => Array ( [ID] => 62 [DATE] => 11:10 am - Sep 14, 2020 [COMPLAINT] => test 6 here we go! [COMPLAINT_EDIT] => test 6 here we go! ) [2] => Array ( [ID] => 61 [DATE] => 10:58 am - Sep 14, 2020 [COMPLAINT] => test 5, yup, yet again man! [COMPLAINT_EDIT] => test 5, yup, yet again man! ) ) [Sep 13, 2020] => Array ( [0] => Array ( [ID] => 60 [DATE] => 10:30 pm - Sep 13, 2020 [COMPLAINT] => test 4 [COMPLAINT_EDIT] => test 4 ) [1] => Array ( [ID] => 59 [DATE] => 8:26 pm - Sep 13, 2020 [COMPLAINT] => test 3 [COMPLAINT_EDIT] => test 3 ) [2] => Array ( [ID] => 58 [DATE] => 8:25 pm - Sep 13, 2020 [COMPLAINT] => test 2 [COMPLAINT_EDIT] => test 2 ) [3] => Array ( [ID] => 57 [DATE] => 8:24 pm - Sep 13, 2020 [COMPLAINT] => test 1 [COMPLAINT_EDIT] => test 1 )
PHP:
 

Александр Коноплев

Пользователь
Регистрация
15.01.13
Сообщения
3
Реакции
0
Баллы
1
Честно говоря, начать использовать было проще всего. В основном это для развлечения и обучения. Я использую это только для себя, а не для живого сайта. Smarty казался излишним, и, насколько я помню, был процесс «установки». Я просто хотел взять класс шаблона и запустить его. Smarty просто выглядел как раздутое ПО в том смысле, для чего я его использую.

Я начал изучать PHP, экспериментируя и адаптируя phpbb2 (давно назад). Я привык к их системе шаблонов. Теперь, с версией phpbb3, он выглядит более сложным и измененным. Я надеялся, что это будет соответствовать моим потребностям.

Думаю, мне придется еще раз присмотреться к Smarty. Спасибо за помощь.
 

vitaminka1

Пользователь
Регистрация
21.12.15
Сообщения
4
Реакции
0
Баллы
1
На данный момент я просмотрел десятки и просмотрел документацию несколько десятков раз. Это не имеет никакого смысла для меня.

Я даже не могу заставить его распечатать мой массив здесь.

Теперь я вспомнил, почему я так и не начал использовать его в прошлый раз.
 
Сверху Снизу