Вывод таблицы, секреты rowspan

  • Автор темы Автор темы Jon
  • Дата начала Дата начала

Jon

Новичок
Не могу сообразить как выводя таблицу объеденить rowspan. все данные в массиве.
вот пример таблицы. дайте идею, в какую сторону копать.
 

Вложения

  • f_4cdd597e2edb7.png
    f_4cdd597e2edb7.png
    27 KB · Просмотры: 25
приведи пример массива, который получаешь...
PHP:
Array
(
    [0] => Array
        (
            [0] => Дорога погрузки
            [1] => Станция КОД Ж.Д.
            [2] => Груз....
            .........
            [6] => Станция КОД Ж.Д.
        )
    [1] => Array
        (
            [0] => Дорога погрузки
            [1] => 
            [2] => 
            .........
            [6] => Станция КОД Ж.Д.
        ),
)
 
сделай эту табличку с начало в WISIWYG редакторе, потом посмотри на код и все поймешь...
 
пытайся каждое поле объединять с соседним,если удалось отмечай что соседнее поле не выводится(например задай ему NULL)
 
PHP:
$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>';
 
Semen, спасибо что потратил время на меня. попробую, хоть я тоже победил данную задачу :)
 
как трудно запомнить предыдущий и сравнить с текущим,
ты язык не знаешь? или алгоритм не можешь составить? на листочке с бумагой для начала пробуй и смотри что между ними схожее и как это можно использовать...
 
как трудно запомнить предыдущий и сравнить с текущим,
ты язык не знаешь? или алгоритм не можешь составить? на листочке с бумагой для начала пробуй и смотри что между ними схожее и как это можно использовать...
читай выше, задача решина.
 
Сверху