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

  • Автор темы Tiberian
  • 28
  • Обновлено
  • 12, May 2024
  • #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: Мне никогда не удавалось использовать эту часть кода. В любом случае, любая помощь приветствуется.

Tiberian


Рег
16 Oct, 2010

Тем
1

Постов
4

Баллов
14
  • 03, Jun 2024
  • #2
добро пожаловать, мне нравится ваше имя пользователя :0 рассмотрите возможность настройки вашего массива следующим образом
 

<?php

// lets pretend your database returned this info, where 1000, 2000, 3000 are really timestamps

$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):
 

vladtravnik


Рег
03 Dec, 2015

Тем
0

Постов
2

Баллов
2
  • 04, Jun 2024
  • #3
Спасибо за помощь. Это примерно то, чего я хочу. Моя самая большая проблема сейчас — заставить его работать с классом шаблона, который я использую. образец массива, который у меня есть сейчас:
 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:
 

sergeant32


Рег
13 Aug, 2013

Тем
2

Постов
9

Баллов
29
  • 05, Jun 2024
  • #4
Честно говоря, начать использовать было проще всего.

В основном это для развлечения и обучения.

Я использую это только для себя, а не для живого сайта.

Smarty казался излишним, и, насколько я помню, был процесс «установки». Я просто хотел взять класс шаблона и запустить его.

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

Теперь, с версией phpbb3, он выглядит более сложным и измененным.

Я надеялся, что это будет соответствовать моим потребностям. Думаю, мне придется еще раз присмотреться к Smarty.

Спасибо за помощь.
 

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


Рег
15 Jan, 2013

Тем
1

Постов
3

Баллов
13
  • 11, Jun 2024
  • #5
На данный момент я просмотрел десятки и просмотрел документацию несколько десятков раз. Это не имеет никакого смысла для меня. Я даже не могу заставить его распечатать мой массив здесь. Теперь я вспомнил, почему я так и не начал использовать его в прошлый раз.
 

vitaminka1


Рег
21 Dec, 2015

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно