эт понятно, как выводя данные из масива (for или foreach) это сделатьrowspan
блин он в офисе, но смысл такой, что в начале с Excel все читается (PHPExcel) и выдает массивrowspan = количество rows МСК и т.д.
покажи код как выводишь?
приведи пример массива, который получаешь...
Array
(
[0] => Array
(
[0] => Дорога погрузки
[1] => Станция КОД Ж.Д.
[2] => Груз....
.........
[6] => Станция КОД Ж.Д.
)
[1] => Array
(
[0] => Дорога погрузки
[1] =>
[2] =>
.........
[6] => Станция КОД Ж.Д.
),
)
причем тут это? я знаю как таблица объядиняется, я не могу понять как выводя из массива ее объяденить.сделай эту табличку с начало в WISIWYG редакторе, потом посмотри на код и все поймешь...
эт понятно, как толькопытайся каждое поле объединять с соседним,если удалось отмечай что соседнее поле не выводится(например задай ему NULL)
рекурсией осматривай правую и нижнюю клетку на предмет одинаковостиэт понятно, как только
уже сделал, перебрал масив, перевернул его и посчиталрекурсией осматривай правую и нижнюю клетку на предмет одинаковости
$waysArray = array();
foreach ($array as $row) {
if (array_key_exists ($row[0], $waysArray)) {
$waysArray[$row[0]]++;
} else $waysArray[$row[0]] = 1;
}
$table = '';
$way = '';
foreach ($array as $row) {
if ($way != $row[0]) {
$way = $row[0];
$i = 0;
$tr = '';
foreach ($row as $col) {
$tr .= (0 == $i) ? '<td rowspan="'.$waysArray[$col].'">'.$col.'</td>': '<td>'.$col.'</td>';
$i++;
}
$table .= '<tr>'.$tr.'</tr>';
} else {
array_shift ($row);
$tr = '';
foreach ($row as $col) $tr .= '<td>'.$col.'</td>';
$table .= '<tr>'.$tr.'</tr>';
}
}
echo '<table border="1">'.$table.'</table>';
читай выше, задача решина.как трудно запомнить предыдущий и сравнить с текущим,
ты язык не знаешь? или алгоритм не можешь составить? на листочке с бумагой для начала пробуй и смотри что между ними схожее и как это можно использовать...