Удалить несколько строк, используя флажок из таблицы MySQL, используя PHP - PullRequest
0 голосов
/ 03 апреля 2019

Я хотел, чтобы строка или несколько строк были удалены при их выборе с помощью флажков. Но, похоже, ничего не удаляется, даже если я выбираю.

Вот что я придумаю:

<?php
$con=mysqli_connect("localhost","root","","annualdb");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM asean_japan WHERE agency='Air'");

if(isset($_POST['delete'])) {
  $checkbox = $_POST['checkbox'];

  for($i=0;$i<count((array)$checkbox);$i++) {
    $del_id = $checkbox[$i];
    $sql = "DELETE FROM asean_japan WHERE id='$del_id'";
    $result = mysqli_query($con,$sql);
  }
// if successful, refresh same page 
if($result) {
  echo "<meta http-equiv=\"refresh\" content=\"0;URL=index.php\">";
}
}
?>
<table class='page'>
  <tr>
    <th>Select</th>
    <th>Agency</th>
    <th>FileName</th>
    <th>FileType</th>
    <th>Date Received</th>
    <th>Action</th>
  </tr>
<?php
while($row = mysqli_fetch_array($result))
{
  ?>
  <tr>
    <td align='center' bgcolor='#FFFFFF'><input name='checkbox[]' type='checkbox' value='<?php echo $row['id']; ?>'></td>
    <td><?php echo $row['agency']; ?></td>
    <td><?php echo $row['filename']; ?></td>
    <td><?php echo $row['filetype']; ?></td>
    <td><?php echo $row['date']; ?></td>
    <td><a target='_blank' href='../annual/indicators/" <?php echo $row['filename']; ?>"'>OPEN</a></td>
  </tr>
</table>

<?php
}
?>
<tr>
  <td colspan="4" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" value="Delete"></td>
</tr>
<?php
mysqli_close($con);
?>

Есть ли проблема с моим флажком или входом = удалить, может быть?

Ответы [ 2 ]

1 голос
/ 03 апреля 2019

сначала вам нужно закрыть табличный тег за пределами цикла while, а затем вам нужно проверить, щелкаете ли вы по своей записи данных или не указывать URL-адрес , нажмите здесь, это поможет вам

0 голосов
/ 03 апреля 2019
    foreach($_POST['checkbox'] as $key =>$val) {
        if($val!='') {
             $sql = "DELETE FROM asean_japan WHERE id='$val'";
             $result = mysqli_query($con,$sql);  
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...