-1

我有以下生成 10X10的 php 代码:

<?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

4

2 回答 2

1

在你的 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>
于 2018-12-05T09:53:48.993 回答
0
$a = $row * $col;

只需删除双引号,这样它将多个数字而不是将其视为字符串。

输出是:

于 2018-12-05T09:12:27.493 回答