Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Таблица умножения (https://javascript.ru/forum/server/20568-tablica-umnozheniya.html)

romantik2011 09.08.2011 21:25

Таблица умножения
 
Вложений: 1
Подскажите, как закрасить вот так как на этой картинке? Не могу понять как.

<?php
$cols = 10;
$rows = 10;
$cols1 = 1;
echo '<h1><center>ТАБЛИЦА УМНОЖЕНИЯ</center></h1>';
echo '<table style="border:1px solid black; padding:10px; margin-left:300px;">';
while($cols1<$cols){
$rows1 = 1;
echo '<tr>';
	while($rows1<$rows){
		$rez = $cols1*$rows1;
		echo '<td style="border:1px solid black; padding:20px;">'.$rez. ' '.' </td>';
		$rows1++;
	}
	echo '<br />';
	echo '</tr>';


$cols1++;
}
echo '</table>';
?>

Gvozd 09.08.2011 21:48

сначала нужно закончить школу

Gozar 10.08.2011 00:02

Цитата:

Сообщение от romantik2011 (Сообщение 119288)
Подскажите, как закрасить вот так как на этой картинке?

Здесь два цикла(while), первый рисует строки, второй вложенный рисует ячейки.

Нужно добавить условия:
в первый while
1. Если "первая строка", то добавляем в tr style="background-color:blue"
во второй while
2. Если "первая ячейка", то добавляем в td style="background-color: yellow"
3. Если "первая строка и первая ячейка", то добавляем в td style="background-color: orange"

romantik2011 11.08.2011 19:07

Решил усовершенствовать таблицу умножения, написав функцию., вроде все окей, но никак не красит таблицу.
<?php

function table($cols,$rows,$color1,$color2,$color3){
echo '<div align="center"><h1 align="center">Таблица умножения</h1>
<table border=1>';
$color = ($cols == 1 && $rows == 1)?$color1:($cols == 1?$color2:($rows == 1?$color3:'white'));

	for($i=1; $i<$cols; $i++){
	echo '<tr align="center">';
	for($j=1; $j<$rows; $j++){
		$rez = $i * $j;
		echo '<td style="background-color:".$color."; text-align:center;">'.$rez.'</td>';
	}
	echo '</tr>';
	}

echo '</table></div>';
}

table(10,10,"blue","yellow","green");

?>

ваый 11.08.2011 19:38

http://javascript.ru/forum/server/20...tml#post119309
А совсем недавно ты спрашивал что-то про ООП. То есть рановато еще ООП, если это не получается.

romantik2011 11.08.2011 20:24

Всё, получилось, блин, надо же сравнивать было строки и столбцы, вот так сработало:
Код:

<?php

function table($cols,$rows,$color1,$color2,$color3){
echo '<div align="center"><h1 align="center">Таблица умножения</h1>
<table border=1>';

        for($i=1; $i<$cols; $i++){
        echo '<tr align="center">';
        for($j=1; $j<$rows; $j++){
                $rez = $i * $j;
                $color = ($i == 1 && $j == 1)?$color1:($i == 1?$color2:($j == 1?$color3:'white'));
                echo '<td style="background-color:'.$color.'; text-align:center;">'.$rez.'</td>';
        }
        echo '</tr>';
        }

echo '</table></div>';
}

table(10,10,"orange","yellow","#FFCCFF");

?>


melky 11.08.2011 21:14

Цитата:

Сообщение от romantik2011 (Сообщение 119901)
вот так сработало:

не надо писать код с настроем "сработало!", надо писать код с мыслей "чтобы работал так, как я этого хочу"

Gozar 11.08.2011 22:03

Кстати красить с помощью js проще чем с помощью php и код чище будет и аккуратней.

ваый 11.08.2011 23:09

Цитата:

Сообщение от Gozar
Кстати красить с помощью js проще чем с помощью php и код чище будет и аккуратней.

:D Аккуратнее! По-моему, и на php, и на js одинаково ужасно. Мешанина из html и css. Отвратительно. Оправдывает лишь то, что это учебная задачка.


Часовой пояс GMT +3, время: 02:34.