Ответов: 2 Просмотров: 2974
|
Здравствуйте!
Написала код для генерации таблицы.
Стили и содержимое ячеек изменяются в зависимости от данных содержащихся в двумерном массиве $styles.
Ячейки нумеруются последовательно с помощью переменной $number.
Как можно сделать так, чтобы ячейки с одинаковыми параметрами объединялись?
Например, "Текст красного цвета" было написано посредине объединенных 4х ячеек.
PHP:
скопировать код в буфер обмена
<?PHP function tab_gen($r,$c,$w,$h,$bgc,$bord) { array( 'text' => 'Текст красного цвета' , 'cells' => array(1,2,4,5) , 'align' => 'center' , 'valign' => 'center' , 'color' => 'FF0000' , 'bgcolor' => '0000FF') , array( 'text' => 'Текст зеленого цвета' , 'align' => 'right' , 'valign' => 'bottom' , 'color' => '00FF00' , 'bgcolor' => 'FFFFFF') ); $number = 0; echo ('<table width="'.$w.'" height="'.$h.'" bgcolor="'.$bgc.'" border="'.$bord.'" rules="all">'); for ($i=1; $i <= $r;$i++) { echo ('<tr>'); for ($a=1; $a <= $c; $a++) { $number++; $tx=''; if (in_array($number, $styles[0]['cells'])) { $tx=$styles[0]['text']; $al=$styles[0]['align']; $val=$styles[0]['valign']; $col=$styles[0]['color']; $bg=$styles[0]['bgcolor']; } else if (in_array($number, $styles[1]['cells'])){ $tx=$styles[1]['text']; $al=$styles[1]['align']; $val=$styles[1]['valign']; $col=$styles[1]['color']; $bg=$styles[1]['bgcolor']; } else {$bg=$bgc;} $td = '<td align="'.$al.'" valign="'.$val.'" bgcolor="'.$bg.'" style="color:'.$col.';">'.$tx.'</td>'; echo($td); } echo ('</tr>'); } echo ('</table>'); } tab_gen(3,3,300,300,'ffffff',2); ?>
Спасибо |