php группа запросов cfoutput - PullRequest
0 голосов
/ 09 апреля 2020

Я в процессе преобразования веб-сайта из ColdFusion в PHP во время изучения последнего.

Есть ли в PHP какой-либо метод для репликации функции группы запросов CFOUTPUT в PHP? Например:

<cfoutput query="clipbook" group="author">

Я пытаюсь опубликовать sh список работ разных авторов, например:

Author one
         Title A
         Title B
Author two
         Title C
         Title D

... и т. д.

У меня есть вся информация в базе данных MYSQL.

Запрос cfoutput с группой делает его очень простым.

Заранее спасибо.

1 Ответ

3 голосов
/ 10 апреля 2020

Объект запроса CF технически является массивом структур под капотом. PHP видит это подобным образом. Затем вам нужно просто l oop поверх основного массива, а затем l oop поверх внутренних «вложенных» данных по столбцу, который вы определили для группировки. Это просто не просто реализовать, как с CFML. :)

Вот пример из сообщения, которое я нашел:

https://www.garfieldtech.com/blog/php-group-by-with-arrays

<?php
$result = mysql_query("SELECT tid, name, size, color FROM things ORDER BY color, name, size");
$set = array();
while ($record = mysql_fetch_object($result)) {
    $set[$record->name[0]][$record->color][] = $record;
}
ksort($set);
foreach ($set as $letter => $colors) {
    print "<h2>{$letter}</h2>\n";
    foreach ($colors as $color => $record) {
        print "<table>\n";
        print "<caption>{$color}</caption>\n";
        print "<tr><th>Name</th> <th>Size</th> <th>Color</th></tr>\n";
        foreach ($records as $record) {
            print render($record);
        }
        print "</table>\n";
    }
}
?>
...