PHP таблица, для добавления, удаления и редактирования строк - PullRequest
0 голосов
/ 01 мая 2018

У меня проблемы с таблицей, я не могу использовать Javascript (который, я знаю, будет проще). Я могу использовать только HTML, PHP и CSS. Это мой код, который у меня сейчас есть. Вопросы, которые мне нужно решить, следующие:

  • Я могу добавлять строки, удалять, и я также могу редактировать их, используя «contenteditable», однако моя проблема в том, что каждый раз, когда я добавляю строку или удаляю одну, она обновляет всю страницу , Как я могу исправить эту проблему?

  • Также, если есть способ иметь кнопку редактирования вместо моего contenitable метода.

Вот мой код:

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 голосов
/ 01 мая 2018

каждый раз, когда я добавляю или удаляю строку, она обновляет всю страницу. Как я могу исправить эту проблему?

Без Javascript вы не сможете.

если есть способ использовать кнопку редактирования вместо моего contenitable метода

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

<?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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...