PHP表,用于添加,删除和编辑行

时间:2018-05-01 16:08:51

标签: php html css html-table

我的桌子有问题,我不能使用Javascript(我知道会更容易)。我只能使用HTML,PHP和CSS。这是我目前拥有的代码。我需要解决的问题如下:

  • 我可以添加行,删除,我也可以使用“contenteditable”编辑它们,但我的问题是,每次添加一行或删除一行时,它都会刷新整个页面。我该如何解决这个问题?

  • 此外,如果有办法使用编辑按钮而不是我的可竞争方法。

这是我的代码:

input {
        display: block;   /* makes one <input> per line */
        width: 150px;
}
<?php
   if( isset( $_REQUEST["btnadd"]) == "ADD") {
       // add 1 to the row counter
       if (isset($_REQUEST['count'])) $count = $_REQUEST['count'] + 1;
       // set value for first load
       else $count = 1;
   }

   if( isset( $_REQUEST["btnremove"]) == "REMOVE") {
   // decrement the row counter
       $count = $_REQUEST['count'] - 1;
       // set minimum row number
       if ($count < 1) $count = 1;
   }
?>
<form name="form1">
   <table class="table table-bordered table-striped table-hover text-center" align='center'>
       <tr>
           <th align="center">Name</th>
           <th>Start </th>
           <th>Size</th>
           <th>First Condition</th>
           <th>Second Conditon</th>
           <th><input type="submit" name="btnadd" id="btnadd" value="ADD" align='center'></th>
       </tr>
<?php
// print $count rows
for ($i=1; $i<=$count; $i++) {
echo ' <tr>
          <td contenteditable="true"></td>
          <td contenteditable="true"></td>
          <td contenteditable="true"></td>
          <td contenteditable="true"></td>
          <td contenteditable="true"></td>
          <td> <input type="submit" name="btnremove" id="btnremove" value="REMOVE"></td>
      </tr>
';
}
?>
   </table>
   <input type="hidden" name="count" value="<?php echo $count; ?>">
</form>

1 个答案:

答案 0 :(得分:0)

  

每次添加一行或删除一行时,都会刷新整个页面。我该如何解决这个问题?

没有Javascript你就可以。

  

如果有办法使用编辑按钮而不是我的可竞争方法

很难建议您的代码应该是什么,因为您没有描述代码的目的,除了代码没有做您想做的事情。我认为你的意思是:

<?php
$width=5;
$data=isset($_REQUEST['data']) ? $_REQUEST['data'] : array();
$count=count($data);
if (isset($_REQUEST['delete'])) {
  foreach ($_REQUEST['delete'] as $i) {
    unset($data[$i]);
  }
}
$data=array_values($data);
if( isset( $_REQUEST["btnadd"]) == "ADD") {
   // add 1 to the row counter
   $data[]=array();
}
...
foreach ($data as $i=>$row) {
   print "<tr>\n";
   for ($x=0; $x<$width; $x++) {
      @print "<td><input type='text' name='data[$i][$x]'></td>\n";
   }
   print "<td><input type='checkbox' name='delete[]' value='$i'>";
   print "</tr>\n";
}
print "<tr>
 <td colspan='$width'>
 <input type="submit" name="btnadd" id="btnadd" value="Add">
 </td>
 </tr>\n";