С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для pudz
3 / 3 / 1
Регистрация: 05.11.2011
Сообщений: 27

Формирование таблицы на основе данных из массива

30.03.2014, 18:23. Показов 1325. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется следующий массив:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Array
(
    [0] => Array
        (
            [use_id] => 1
            [use_login] => admin
            [pro_img] => foto.jpg
            [pro_fam] => Левочкин
            [pro_im] => Владимир
            [pro_otch] => Генадиевич
            [dol_name] => И.о. Профессора
        )
 
    [1] => Array
        (
            [use_id] => 2
            [use_login] => USER
            [pro_img] => foto.jpg
            [pro_fam] => Гаврилов
            [pro_im] => Валерий
            [pro_otch] => Георгиевич
            [dol_name] => Доцент
        )
 
    [2] => Array
        (
            [use_id] => 5
            [use_login] => buhar
            [pro_img] => foto.png
            [pro_fam] => Бухарест
            [pro_im] => Сергей
            [pro_otch] => Константинович
            [dol_name] => Ассистент
        )
 
    [3] => Array
        (
            [use_id] => 6
            [use_login] => baytenovalm
            [pro_img] => foto.png
            [pro_fam] => Байтенова
            [pro_im] => Лаура
            [pro_otch] => Маратовна
            [dol_name] => Зав. кафедрой
        )
 
    [4] => Array
        (
            [use_id] => 9
            [use_login] => glebov
            [pro_img] => foto.jpg
            [pro_fam] => Глебов
            [pro_im] => Валентинович
            [pro_otch] => Валентин
            [dol_name] => Ассистент
        )
 
)

Необходимо сгенерировать таблицу следующего вида:


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<table>
    <!-- Первая строка, 4 столбца -->
    <tr>
        <td><img src="images/foto.jpg"></td>
        <td><img src="images/foto.jpg"></td>
        <td><img src="images/foto.jpg"></td>
        <td><img src="images/foto.jpg"></td>
    </tr>
    
    <!-- Вторая строка, 4 столбца -->
    <tr>
        <td>
            <p>Левочкин Владимир Генадиевич</p>
            <p>И.о. Профессора</p>
        </td>
        <td>
            <p>Гаврилов Валерий Георгиевич</p>
            <p>Доцент</p>
        </td>
        <td>
            <p>Бухарест Сергей Константинович</p>
            <p>Ассистент</p>
        </td>
        <td>
            <p>Байтенова Лаура Маратовна</p>
            <p>Зав. кафедрой</p>
        </td>
    </tr>
    
    <!-- Третья строка, 4 столбца -->
    <tr>
        <td><img src="images/foto.jpg"></td>
    </tr>
    
    <!-- Четвертая строка, 4 столбца -->
    <tr>
        <td>
            <p>Глебов Валентинович Валентин</p>
            <p>Ассистент</p>
        </td>
    </tr>
</table>
Примерный вид таблицы во вложенном файле.

Вот такую я сварганил вещь и много подобных не рабочих как следует вариантов:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<table>
    <? for($i=0; $i<=1; $i++) :?>
        <? if($i == 0) :?>
        <tr>
            <? for($j=0, $line=1; $j<=count($profile)-1; $j++, $line++) :?>
                <? if($line != 5) :?>
                    <td><img src="<?=SITE_URL;?>files/profile/<?=$profile[$j]['use_login']."/".$profile[$j]['pro_img'];?>"></td>
                <? else:?>
                    <?$line = 0;?>
                <? endif;?>
            <? endfor;?>
        </tr>
        <? elseif($i == 1) :?>
        <tr>
            <? for($j=0, $line=1; $j<=count($profile)-1; $j++, $line++) :?>
                <? if($line != 5) :?>
                    <td>                                    
                        <p><a href="<?=SITE_URL;?>profile/user/<?=$profile[$j]['use_id'];?>"><?=$profile[$j]['pro_fam']." ".$profile[$j]['pro_im']." ".$profile[$j]['pro_otch'];?></a></p>  
                        <p><?=$profile[$j]['dol_name'];?></p>                                   
                    </td>
                <? else:?>
                    <?$line = 0;?>
                <? endif;?>
            <? endfor;?>
        </tr>
                                
        <? endif;?>
    <? endfor;?>
 
 
</table>
Миниатюры
Формирование таблицы на основе данных из массива  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.03.2014, 18:23
Ответы с готовыми решениями:

Формирование таблицы на основе другой
Помогите, пожалуйста, существует таблица, полученная селектом, которую нужно развернуть, как на примере, как это можно сделать? Заранее...

Формирование таблицы на основе списков
Задание такое: Сформировать таблицу из списка. Массив в данной программе является Индексом. Т.е добавляется запись у которой...

Формирование таблицы на основе родительской
Здравствуйте! Сегодня на работе столкнулся со следующей проблемой. Имеется сводная таблица &quot;нагрузка&quot; по распределению нагрузки...

3
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
31.03.2014, 00:20
а если на дивах
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style type="text/css">
    #wrap{
        width:1300px;
    }
    .cont{
        border: 1px solid #999999;
        float: left;
        margin: 20px 20px ;
        
        padding-left: 10px;
        width: 250px;
    }
  </style>
<div id="wrap">
<?foreach($a as $k => $v):?>
    <div class="cont">
        <p><?=$v['pro_img']?></p>
        <p><?=$v['pro_fam']?>&nbsp;<?=$v['pro_im']?>&nbsp;<?=$v['pro_otch']?></p>
        <p><?=$v['dol_name']?></p>
    </div>
<?endforeach?>
</div>
0
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
31.03.2014, 10:59
так, а что у вас получалось из ваших "нерабочих вариантов", покажите скрины и сгенерированный HTML
0
 Аватар для pudz
3 / 3 / 1
Регистрация: 05.11.2011
Сообщений: 27
31.03.2014, 11:16  [ТС]
Вот ребят, кому интересно рабочий вариант:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$rowblock = -2;
$rows = array();
foreach ($profile as $i => $user) {
    if ($i%4 == 0) {
        $rows[] = '<tr>';
        $rows[] = '<tr>';
        $rowblock += 2;
    }
    $rows[$rowblock] .= "<td><img src='/profile/user/{$user['pro_img']}'>";
    $rows[$rowblock+1] .= "<td><p>{$user['pro_fam']} {$user['pro_im']} {$user['pro_otch']}<p>{$user['dol_name']}";
}
for ($i = $i%4; $i < 3; $i++) {
    $rows[$rowblock] .= "<td>";
    $rows[$rowblock+1] .= "<td>";
}
echo "<table>",implode('', $rows),"</table>";
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2014, 11:16
Помогаю со студенческими работами здесь

Формирование таблицы (в датагриде) на основе выбора пользователя
Доброго времени суток! Подскажите, пожалуйста, начинающему где и что искать по теме. Имеется некая база данных MS SQL, содержащая сведения...

SQLITE. Формирование третьей таблицы на основе первых двух
Здравствуйте. Возникла задача в формировании таблицы следующим образом: Есть две таблицы с временем и данными. На основе этих двух таблиц...

Формирование отчета на основе данных из БД
Добрый день! Подскажите как с помощью языка C# формировать отчет к примеру есть у нас БД со значениями как вывести например в ворд? Или...

Формирование нового списка на основе существующих данных
Ребят... подскажите пожалуйста..где ошибка в коде... Задача На рабочем листе с помощью программного кода процедуры ProdSales...

Обновление данных одной таблицы на основе данных другой таблицы
мне нужно создать запрос на обновление данных одной таблицы на основе данных из другой таблицы. Дано: имя таблицы|ключевые поля ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru