[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вывод результата
krivarik
У меня есть база данных с таблицами:

user posted image бригада

user posted image название

user posted image вид работ

user posted image сводная


запрос вот такой:


SELECT `название`.`name`as название,`бригада`.`name`as бригада, `видработ`.`name`as видработ
FROM `svod`, `brig` as бригада, `naz`as название, `vidrab`as видработ
WHERE бригада.id = `svod`.`id_brig`and название.id = svod.id_naz and видработ.id = svod.id_vidrab



выдает результат:
user posted image результат

У меня вот такой вопрос. Как написать РНР скрипт чтобы результат в браузере был такой:

user posted image

Ну или как по другому составить запрос к базе данных, у меня на ум больше нечего не приходит
Гость_Jallvar
Это чистое html оформление. изучите строение таблиц.
krivarik
нет вы меня не поняли, я не знаю как отсортировать получаемый массив, чтобы вывести в таком виде в браузере
Nogard7491
krivarik
запрос вам выводит всё что нужно, требуется только:
1. Правильно обработать полученные данные;
2. На основании полученных данных правильно построить таблицу (обратите внимание на rowspan и colspan);
3. Заполнить таблицу данными.
SerginhoLD
  $array[] = ['naz' => 'планка', 'brig' => 'козлов', 'vidrab' => 'свар'];
$array[] = ['naz' => 'планка', 'brig' => 'козлов', 'vidrab' => 'слес'];
$array[] = ['naz' => 'планка', 'brig' => 'клюев', 'vidrab' => 'слес'];
$array[] = ['naz' => 'скоба', 'brig' => 'клюев', 'vidrab' => 'слес'];

$new = [];

foreach($array as $value)
{
$new[$value['naz']][$value['brig']][] = $value['vidrab'];
}

echo '<pre>'; print_r($new); echo '</pre>';

// дальше можно через foreach строить таблицу, а точнее лучше таблицы в таблицах, проще как-то чем колдовать с rowspan и colspan, но тут на вкус и цвет


_____________
"internet explorer всех правильней отображает страницы" ©
krivarik
я честно пытался разобраться в строке
$new[$value['naz']][$value['brig']][] = $value['vidrab'];

но так и не понял как она работает

решил попробовать скрипт в работе и мне выдало вот такую ошибку
Parse error: syntax error, unexpected '[' in Z:\home\ret.ru\www\1.php on line 10
SerginhoLD
php 5.4, там работает )

попробуй так
<?php

$array[] = array('naz' => 'планка', 'brig' => 'козлов', 'vidrab' => 'свар');
$array[] = array('naz' => 'планка', 'brig' => 'козлов', 'vidrab' => 'слес');
$array[] = array('naz' => 'планка', 'brig' => 'клюев', 'vidrab' => 'слес');
$array[] = array('naz' => 'скоба', 'brig' => 'клюев', 'vidrab' => 'слес');

$new = array();

foreach($array as $value)
{
$new[$value['naz']][$value['brig']][] = $value['vidrab'];
}

echo '<pre>'; print_r($new); echo '</pre>';


вывод будет такой (многомерный массив)
Array
(
[планка] => Array
(
[козлов] => Array
(
[0] => свар
[1] => слес
)

[клюев] => Array
(
[0] => слес
)

)

[скоба] => Array
(
[клюев] => Array
(
[0] => слес
)

)

)


из массива $new построить html уже не проблема

_____________
"internet explorer всех правильней отображает страницы" ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.