我要删除一行时遇到问题,它仅删除第一个行,我正在使用php和bootstrap modal
ajout.php ,此页面是我用ID调用deleteEntreprise.php
$pdo = new PDO('mysql:dbname=test;host=localhost','root','root');
$pdoStat = $pdo->prepare('SELECT * FROM entreprise');
$ExecuteIsOk = $pdoStat->execute();
$entreprises = $pdoStat->fetchAll()
<?php foreach ($entreprises as $entreprise): ?>
<tbody>
<tr>
<td >
<?= $entreprise['id'] ?>
</td>
<td>
<a href="liste.php?id=<?= $entreprise['id'] ?>" style="text-decoration : none !important; color : white !important;"><?= $entreprise['nom'] ?></a>
</td>
<td>
<button type="button" class="btn btn-sm btn-danger" data-toggle="modal" data-target="#exampleModal">Supprimer
</button>
</td>
</tbody>
</tr>
<div class="modal fade" id="exampleModal" tabindex="0" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">ATTENTION !</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
Etes-vous sûr(e) de vouloir supprimer le compte ?
</div>
<div class="modal-footer">
<button type="button" class="btn-sm btn-secondary" data-dismiss="modal">Fermer</button>
<a href="deleteEntreprise.php?id=<?= $entreprise['id'] ?>" class="btn btn-danger btn-sm active" role="button" aria-pressed="true">Supprimer le compte</a>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</table>
deleteEntreprise.php 删除实体的sql查询
<?php
// Cette fonction permet de supprimer une fiche entreprise de la base données
$entreprise_id = $_GET['id'];
require 'inc/db.php';
$req = $pdo->prepare('SELECT * FROM entreprise WHERE id = ?');
$req->execute([$entreprise_id]);
$user = $req->fetch();
session_start();
$pdo->prepare('DELETE FROM entreprise WHERE id = ? ')->execute([$entreprise_id]);
$_SESSION['flash']['success'] = 'Lentreprise a bien été supprimer de la base de données.';
// $_SESSION['auth'] = $user;
header('Location: ajout.php');
exit();
希望我能提供足够的信息来帮助解决我的问题。
任何帮助将不胜感激!
谢谢,祝你有美好的一天!
答案 0 :(得分:0)
代码中的问题之一是,您引用的是在同一ID下创建的所有模式HTML。因此,如果您的PHP循环中有多个项目,您将如何确定应删除哪个ID。
如何在代码<?php foreach ($entreprises as $entreprise): ?>
中构造数组$enterprises
?您不会显示任何已删除的元素ID的代码。我猜想您正在从各种数据库中读取数据,如果是的话,还是要从数据库中删除有问题的元素,以便在运行PHP时不会返回已删除的元素。
在某些情况下,有时会显示您追求的功能所需的所有代码,可帮助人们为您提供帮助。
答案 1 :(得分:0)
尝试一下:
<table>
<tbody>
<?php foreach ($entreprises as $entreprise): ?>
<tr>
<td>
<?= $entreprise['id'] ?>
</td>
<td>
<a href="liste.php?id=<?= $entreprise['id'] ?>" style="text-decoration: none!important; color: white!important;"><?= $entreprise['nom'] ?></a>
</td>
<td>
<a href="#exampleModal<?= $entreprise['id'];?>" class="btn btn-sm btn-danger" data-toggle="modal">Supprimer</a>
</td>
</tr>
<div class="modal fade" id="exampleModal<?= $entreprise['id'];?>" tabindex="0" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">ATTENTION !</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
Etes-vous sûr(e) de vouloir supprimer le compte ?
</div>
<div class="modal-footer">
<button type="button" class="btn-sm btn-secondary" data-dismiss="modal">Fermer</button>
<a href="deleteEntreprise.php?id=<?= $entreprise['id'] ?>" class="btn btn-danger btn-sm active" role="button" aria-pressed="true">Supprimer le compte</a>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</tbody>
</table>