Fonctionnement de la base de données PHP : suppression batch et spécifique des utilisateurs

Nous sommes à la section 13.3 "Faire afficher une liste par étapes". Avant la suppression, il y a la suppression d'une seule ligne de données et la suppression de plusieurs lignes de données.

Déterminer s'il faut supprimer une sélection unique ou plusieurs sélections

1. Une seule ligne est transmise au fichier delete.php via Obtenir les paramètres.Écrivez l'ID correspondant dans.

2. Les suppressions multiples transmettent l'ID correspondant à la page delete.php via POST.

3. Si aucune de ces deux conditions n'est remplie, nous pouvons alors considérer les données comme illégales.

if (is_array($_POST['id'])) {
    $id = join(',', $_POST['id']);
} elseif (is_numeric($_GET['id'])) {
    $id = (int) $_GET['id'];
} else {
    echo '数据不合法';
    exit;
}

Instructions SQL combinées

Nous vous avons déjà expliqué dans le chapitre MySQL que vous pouvez utiliser la sous-instruction in lors d'une suppression.

De même ici, nous pouvons utiliser la sous-instruction in pour obtenir l'effet.

La fonction join modifie l'identifiant transmis par suppression à sélection multiple au format 3, 4, 5. Le résultat final de l'exécution de l'instruction SQL de suppression à sélection multiple est :

delete from user where id in(3,4,5,6,8);

Et suppression à sélection unique L'effet d'instruction est :

delete from user where id in(3)

De cette façon, nous obtenons des effets adaptatifs à sélection unique et multi-sélection.

$sql = "delete from user where id in($id)";

La démonstration finale complète du code est la suivante :

<?php

include 'connection.php';

if (is_array($_POST['id'])) {

   $id = join(',', $_POST['id']);

} elseif (is_numeric($_GET['id'])) {

   $id = (int) $_GET['id'];

} else {
   echo '数据不合法';
   exit;
}

$sql = "delete from user where id in($id)";

$result = mysqli_query($conn, $sql);

if ($result) {
   echo '删除成功';
} else {
   echo '删除失败';
}
?>


Formation continue
||
<?php include 'connection.php'; if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '数据不合法'; exit; } $sql = "delete from user where id in($id)"; $result = mysqli_query($conn, $sql); if ($result) { echo '删除成功'; } else { echo '删除失败'; } ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel