J'ai essayé de faire un bouton de suppression, mais si j'utilise une case à cocher, cela fonctionne bien mais ne fonctionnerai pas sans que quelqu'un ne peut m'aider mon code est comme suit:
J'ai ajouté mon code complet pour la table où je veux supprimer un Entrée via un bouton J'espère que c'est plus utile. P>
<?php
if (isset($_POST['rBtn'])) {
$sql = $odb->prepare("DELETE FROM `fe` WHERE `ID` = :id");
$sql->execute(array(':id' => $id));
$notify = '<div class="btn btn-outline-success btn-sm" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button><i class="mdi mdi-check-all"></i>API has been deleted!</div><meta http-equiv="refresh" content="2;url=customers.php">';
}
?>
<div class="card-body">
<form action="" method="POST" class="form-horizontal">
<table id="bootstrap-data-table-export" class="table table-striped table-bordered">
<thead>
<tr>
<th>IP</th>
<th>Type</th>
<th>Name</th>
<th>Date</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$SQLSelect = $odb->prepare("SELECT * FROM `fe` WHERE `userID` = :user ORDER BY `ID` DESC");
$SQLSelect->execute(array(':user' => $_SESSION['ID']));
while ($show = $SQLSelect->fetch(PDO::FETCH_ASSOC)) {
$ipShow = htmlspecialchars($show['ip']);
$noteShow = htmlspecialchars($show['note']);
$ids = intval($show['ID']);
$date = htmlspecialchars(date("d-m-Y, h:i:s a", $show['date']));
$type = $show['type'] == 'f' ? '<button class="btn btn-success btn-sm">Friend</button>' : '<button class="btn btn-danger btn-sm">Enemy</button>';
echo '<tr><td>' . htmlspecialchars($ipShow) . '</td><td>' . $type . '</td><td>' . htmlspecialchars($noteShow) . '</td><td>' . htmlspecialchars($date) . '</td><td><input type="submit" value="Delete" name="rBtn" class="btn btn-outline-danger btn-sm" /></td></tr>';
}
?>
</tbody>
</table>
</form>
</div>
3 Réponses :
Vous pouvez utiliser un bouton dans un formulaire par ligne, puis utiliser JavaScript pour soumettre: ... p>
Veuillez ne pas utiliser onclick code> des gestionnaires. Il y a beaucoup de meilleures façons. En outre, expliquez pourquoi vous pensez que cela résout le problème - Envoi d'un formulaire à l'aide d'un bouton et B> JS n'est pas nécessaire
Si j'ai raison, cela supprimerait tous les articles non individuels corrects? Désolé si j'ai trompé mes mots.
Nicohaase: Qui a dit qu'il est autorisé ou non à utiliser onclick () pour soumettre un formulaire. Ce qui est préférable, c'est au développeur. Au fait, où est votre solution? Privé: Vous pouvez envelopper la balise de formulaire autour de vous supprimer le code et utiliser un identifiant N dans le nom du bouton ou un champ masqué, de cette façon, vous savez quel bouton a été cliqué.
Je viens d'essayer un champ caché ne semble pas vouloir travailler
@Martinnewman Je n'ai aucune idée de ce que le problème initial est, je ne peux donc pas fournir de solution à cela. Et la question de oncllick code> attributs vs. pure JS Solutions est couvert dans Stackoverflow.com/Questtions/12627443/JQUERY-CLICK-VS-ONCLICK
Vous ne connaissez pas la question mais vous me critiquez .. :-) Il est censé lui donner un indice facile, il peut élaborer. Je suis d'accord avec vous, il y a plusieurs façons qui semblent être «plus agréables», mais simplement parce que beaucoup de gens le préfèrent, ce n'est pas une approche obligatoire. Le développeur et celui qui répond à la question peut choisir librement ;-)
Mais pourriez-vous même expliquer pourquoi vous avez besoin de JS pour soumettre un formulaire? Que se passerait-il si vous ignorez la partie JS?
@Nicohaase que j'utilise pour préférer
C'est probablement parce qu'il n'y a pas de connexion Vous devez vous connecter à la base de données avant de pouvoir faire n'importe quoi.Je ne peux voir d'où vous vous connectez au Base de données SQL. P> Pour se connecter à la base de la base de données PDO, vous pouvez utiliser: p>
J'y ai déjà, j'inclus db.php dans header.php qui appelle toutes les pages.
S'il vous plaît ne soyez pas en colère mais je ne vois pas d'inclure 'db.php'
php nécessitent_once ('Inclus / db.php'); exiger_once ('Inclus / init.php'); inclure ("header.php"); $ page = "amis et ennemis"; $ statistiques-> UpdateAactivité ($ ODB, $ _Session ['ID']); ?> Juste pour toi princesse
Ok.mais ce n'est pas dans le code donné
Parce que cela ne provoque pas l'erreur que je dois résoudre le problème est avec le code RBTN ne supprimant pas une entrée avec bouton clic
OK !!! Je reçois le problème. Il n'y a aucun moyen que le serveur puisse savoir quand le bouton est cliqué.
Comme indiqué plusieurs fois dans le commentaire, vous n'avez pas envoyé de valeur pour 1) Envoyez-le via le bouton à l'aide de la pièce suivante dans votre modèle: P> $ ID code> au backend sur la soumission du formulaire. Il existe deux manières possibles de résoudre ce problème: if (isset($_POST['rBtn'])) {
$id = $_POST['rBtn'];
$sql = $odb->prepare("DELETE FROM `fe` WHERE `ID` = :id");
$sql->execute(array(':id' => $id));
$notify = '<div class="btn btn-outline-success btn-sm" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button><i class="mdi mdi-check-all"></i>API has been deleted!</div><meta http-equiv="refresh" content="2;url=customers.php">';
}
Définir "ne fonctionnera pas". Qu'est-ce qui échoue spécifiquement?
Je veux supprimer un élément avec un bouton à partir d'un bouton de table doit saisir chaque identifiant pour la saisie de table
.... Mais plutôt ce qui se passe?
Par exemple, si mon instruction SELECT saisie à partir de DB et que le premier élément était "Test", il aurait une touche DELETE près d'avoir besoin de saisir l'ID pour cet élément afin que je clique sur le bouton Supprimer
@Twista rien ne se passe la page juste des recharges
@Private: Dans votre tentative de supprimer l'enregistrement, vous utilisez une variable appelée
$ ID code>. Où définissez-vous cette variable et attribuez-vous une valeur?Si c'est votre code complet, quelque chose ne va pas. Il semble ne pas connaître la base de données
Il n'y a même pas une balise php de fermeture
Je veux dire que ceci est le code complet de SELECT TABLE, pas la page complète Ce code est le code où j'essaie d'implémenter le bouton Supprimer pour une entrée.
S'il vous plaît expliquer ce que vous essayez de faire plus de manière exhaustive
Qu'est-ce que exactement b> ne fonctionne pas avec le code donné? Qu'avez-vous essayé de déboguer le problème? Veuillez ajouter toutes les informations à la question elle-même, pas à la section Commentaires
Je ne reçois pas de débogage @nicohaase mon bouton TD> Code> est supposé supprimer l'élément individuel du tableau Chaque élément a un bouton Supprimer, mais lorsque je clique sur le bouton ne fait que rafraîchir la page Rien ne supprime.
Donc, vous n'avez rien débogué et vous ne voulez pas partager plus de détails aux personnes qui essaient de vous aider? Cela me semble étrange