PHP - связывание таблицы с HTML и умножение - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть следующий php-код, который генерирует таблицу 10X10 :

<?php
echo "<table border =\"1\" style='border-collapse: collapse'>";
for ($row=1; $row <= 10; $row++) { 
    echo "<tr> \n";
    for ($col=1; $col <= 10; $col++) { 
       $a = "$row * $col";
       echo "<td><a href = '$a'>$a</a></td> \n";
    }
    echo "</tr>";
}
echo "</table>";
?>
  1. Как воссоздать эту таблицу в HTML, чтобы ссылки работали?

  2. Каждое поле в таблице должно умножаться, например, поле '5 * 6' дает результат '30'.Как написать класс php, который будет выполнять эту операцию?Итак, для row*column возвращаем переменную result.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

в вашем Calculator.php

<?php
Class Calculator {

    public function calculate($row, $col){
        return $result = $row * $col;
    }
}

Измените index.php следующим образом.

<?php include_once('Calculator.php'); ?>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        a{
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div>
        <input type="text" value="<?php if( (isset($_GET['col']) && $_GET['row'])){ echo Calculator::calculate($_GET['row'],$_GET['col']); } ?>">
    </div>
    <?php
    echo "<table border =\"1\" style='border-collapse: collapse'>";
    for ($row=1; $row <= 10; $row++) { 
        echo "<tr> \n";
        for ($col=1; $col <= 10; $col++) { 
           $a = "$row * $col";
           echo "<td><a href=?row=$row&col=$col>".$a;
           //if( (isset($_GET['col']) && $_GET['row'] && $row==$_GET['row'] && $col==$_GET['col'])){ echo Calculator::calculate($row,$col); }else{ echo $a ;}
           echo "</a></td> \n";
        }
        echo "</tr>";
    }
    echo "</table>";
    ?>
</body>
</html>
0 голосов
/ 05 декабря 2018
$a = $row * $col;

Просто удалите двойные кавычки, чтобы они умножались на числа, а не считали их строкой.

output is :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...