2014-03-30 16 views
1

我对此很新,所以请耐心等待。如何在php和html中创建乘法表

我以某种方式需要下表有HTML代码,将创建一个两列和三行的表。左上角的列将有标题行,中间将有列,底部将有一个提交按钮,这样,当您向右列添加数字时,即将10放在行文本框中,将10放在列文本框中,并将a将创建10 X 10的乘法表。

我有以下PHP和HTML代码,但它们不能一起工作。请帮忙!

我以为我可以让HTML代码在PHP文档中工作。

该html代码应该有两个文本框,一个用于行,一个用于列,当您将一个数字添加到行和列时,它将创建一个大的乘法表。

<form name="table" id="table" action="table.php" method="post"> 
     <h2>Table Generator</h2> 
     <p> 
    <label for="width">Rows:</label> 
    <input type="text" name="Width" id="Width" /> 
     </p> 
     <p> 
    <label for="height">Columns:</label> 
    <input type="text" name="height" id="height" /> 
     </p> 
    <input name="sbt" type="submit" formaction="table.php" onClick="MM_validateForm ('width','','RisNum','height','','RisNum');return document.MM_returnValue" value="Calculate" /> 
    </form> 
<?php 

$rows = $_POST ['width']; 
$columns = $_POST ['height']; 

$width = 5; 
$height = 6; 

    $i=1; 
    $table='<table border="1">'; 
    for($r=0;$r<$width;$r++) 
    { 
     $table .= '<tr>'; 
     for($c=0;$c<$height;$c++) 
     { 
      $table .= "<td>$i</td>"; 
      $i++; 
     } 
     $table .= '<tr>'; 
    } 
    $table .= '</table>'; 
    echo $table; 

?> 
+0

有趣的是,这个问题得到了upvote而一半的代码是不可见的。 – faintsignal

+1

你能显示你的输出吗? –

+1

那么你有什么具体问题。 –

回答

0

你的for循环看起来应该更像是这样的:

for($r=0; $r < $height; $r++) 
{ 
    $table .= '<tr>'; 
    for($c=0; $c < $width; $c++) 
    { 
     $table .= "<td>" . ($r * $c) . "</td>"; 
    } 
    $table .= '</tr>'; 
} 

一开始,你应该通过高度来循环第一(当你创建了行),然后宽度(对于列)。其次,你没有乘以这两个值,你只输出宽度循环可见的,所以你应该输出两者相乘的结果($r * $c)。 另外,你不需要循环中的另一个变量(你有$ i)。

最后,你没有关闭标签,你在循环结尾打开一个新标签。