ГЛАВНАЯ | HTML | CSS | PHP | JS | ЕЩЁ |

Нарисовать таблицу умножения в PHP

2018/05/17 Марат 2134 0 CSS | PHP | TASK | TABLE |

Условие задачи – нарисовать таблицу умножения в PHP.

Видео на тему: Нарисовать таблицу умножения в PHP

  1. Используя циклы нарисуйте таблицу умножения в виде HTML-таблицы на следующих условиях
  2. Число столбцов должно быть равно значению переменной $cols
  3. Число строк должно быть равно значению переменной $rows
  4. Ячейки на пересечении столбцов и строк должны содержать значения, являющиеся произведением порядковых номеров столбца и строки
  5. Необходимо выделить первую строку и первый столбец.
  6. Рекомендуется использовать цикл for.

Присвоим строкам и столбцам переменные и поставим равными  максимальному числу, а в таблице умножения  - это 10.

$cols = 10;
$rows = 10;

Для того, чтобы у нас получилась таблица умножения, нам нужно сделать два цикла.

Первый цикл:

Где -$tr – переменная строки, начинаем с единицы -  ($tr = 1,  значение переменной от 1 до меньше или равно

переменной строки -  $rows - $tr <= $rows;, с шагом  +1 - ; $tr ++)
for ($tr = 1; $tr <= $rows; $tr ++)

Напишем сразу таблицу и добавим бордюр:

echo " <table border="1"> ";

echo "</table>";

Также откроем и закроем строку:

echo "<tr>";

echo "</tr>";

и внутри строки поставим цикл с ячейками:

for($td = 1;$td <=$cols; $td++)

{

echo "<td> </td>"; 

}

Полный код у нас получится:

<?php

$rows = 10;

$cols = 10;

for ($tr = 1; $tr <= $rows; $tr ++)

{

echo "<table  border='1' >";

echo "<tr>";

  for($td = 1;$td <=$cols; $td++)

  {

  echo "<td>&ensp;</td>"; 

  }

echo "</tr>";

}   

echo "</table>";

?>

Смотрим на нашу таблицу, если таблица получилась, то это уже прогресс!

Друзья! - я не буду повторять то, что уже в прошлый раз написал о бордюрах таблицы, и у вас по умолчанию - должны получиться двойные бордюры..., но у нас это все уже не будет отображаться, потому, что у нас написаны соответствующие стили...

Отличная получилась таблица!  Но если мы посмотрим на вид в коде браузера, то получится ад, в котором ногу сломаешь! Нам нужно после каждого окончания строки и таблицы поставить перенос \n.

Добавляем - поставить таблицу по центру -align="center"

Теперь заглушку   - нужно заменить на – произведение строки и столбца:

Те. – вот  эту сточку echo " ";  заменим на вот такую - echo "" .$tr * $td."\n";
<?php

$rows = 10;

$cols = 10;

for ($tr = 1; $tr <= $rows; $tr ++)

{

echo "<table  border='1' align='center'>";

echo "<tr>";

  for($td = 1;$td <=$cols; $td++)

  {

  echo "<td>" .$tr * $td."</td>\n"; 

  }

echo "</tr>\n";

}   

echo "</table>";

?>

Смотрим, что у нас получилось:

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

Ну и далее нам стоит привести  нашу таблицу умножения в приемлемый вид. Для этого добавим  ширину таблицы:

width="250"

Ширина ячейки - width="25"

И добавим табуляцию - отступ от края -\t.. Для отображения нормального кода

$rows = 10;

$cols = 10;

for ($tr = 1; $tr <= $rows; $tr ++)

{

echo "<table  border='1' align='center' width='250'>\n";

echo "\t<tr>\n";

for($td = 1;$td <=$cols; $td++)

{

echo "\t\t<td width='25'>" .$tr * $td."</td>\n"; 

}

               echo "\t</tr>\n";

}   

echo "</table>";

Смотрим результат:

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

И последний вариант сделаем обрисовку с помощью стилей:

<style>

table.second.td {  

width: 250px;  //ширина

margin: 0 auto; //позиция - середина

.second.td td {

width: 10%; //ширина ячейки

text-align: center; //текст посередине

border: 1px solid #cdc513;  //толщина бордюра, начертание, цвет

}

</style> 

Цвет бордюра сделаем веселым - желтым...

1. Давайте выделим первую строку - сделаем её жирной при помощи тега "b" и переменная $end_b будет равна закрытию тега "b":

  if(($tr == '1')){  $b ='<b>'; $end_b ='</b>'; } 

После того, как сработает условие или не сработает переменную нужно разрушить либо написать такую конструкцию....

  $b =''; $end_b ='';

2.Выделим левый крайний столбец - уже в td - нам потребуется двойная проверка если $tr не равно 1 и $td рано 1.
  if(($tr != '1') &&  ($td == '1')){  $b ='<b>'; $end_b ='</b>'; } 

И при этом же условии переменную $b и $end_b нужно уничтожить...

И собственно та строка, которая повторялась добавим эти переменные перед числом и в конце числа...

  echo "<td>" . $b .$tr * $td. $end_b ."</td>\n"; 

Код:

$rows = 10;

$cols = 10;

echo "<table class='second td'>";

for ($tr =1; $tr <= $rows; $tr ++)

{

echo "<tr>"; 

  if(($tr == '1')){  $b ='<b>'; $end_b ='</b>'; } 

  for($td =1;$td <=$cols; $td++)

  {

  if(($tr != '1') &&  ($td == '1')){  $b ='<b>'; $end_b ='</b>'; } 

  echo "<td>" . $b .$tr * $td. $end_b ."</td>\n"; 

  if(($tr != '1') &&  ($td == '1')){  $b =''; $end_b =''; } 

  }

  $b =''; $end_b ='';

echo "</tr>\n";

}   

echo "</table>";

Результат:

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Полный листинг - здесь

И:

Полный листинг из видео - здесь
пример из видео
P.S.

Не обязательно должно быть именно такое решение, я не смотрел, как решили другие эту задачку!

Это всего лишь пример!

Как можно использовать php для создания html кода!

Может быть это не так явно видно! Но если представим, что строк должно быть не 10, а 100 или 1000, то само сабой напрашивается использование такого типа отображения таблицы.

Не забудь !С вашими куками, что-то не то..., попробуете перезагрузить страницу..
Теги:
Таблицаумноженияв phpтаблицу умножения в PHP

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) https://dwweb.ru/ http://calc.dwweb.ru/ http://kod.dwweb.ru/ http://marrex.ru/ http://pro.dwweb.ru/ https://f0rlink.com/ https://comments.dwweb.ru youtube Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019