Amélioration requête SQL DELETE
Résolu
Potame137
Messages postés
36
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Existe-t-il un moyen plus "simple" pour que quand j'appuie sur le bouton "supprimer", celui-ci supprime le post sélectionné ? Car j'ai créé un bouton mais pour qu'il supprime le poste il lui faut une valeur entre 1 et 0 actuellement. J'aimerais faciliter ceci.
Voici un extrait du code :
post.fuc.php
Merci de vos retours , cordialement.
Existe-t-il un moyen plus "simple" pour que quand j'appuie sur le bouton "supprimer", celui-ci supprime le post sélectionné ? Car j'ai créé un bouton mais pour qu'il supprime le poste il lui faut une valeur entre 1 et 0 actuellement. J'aimerais faciliter ceci.
Voici un extrait du code :
post.fuc.php
<?php
function get_post(){
global $db;
$req = $db->query("
SELECT posts.id,
posts.title,
posts.image,
posts.date,
posts.content,
posts.posted,
admins.name
FROM posts
JOIN admins
ON posts.writer = admins.email
WHERE posts.id = '{$_GET['id']}'
");
$result = $req->fetchObject();
return $result;
}
// Permet d'édit un article
function edit($title,$content,$posted,$id){
// connexion a la bd
global $db;
// tableau pour la requête
$e = [
'title' => $title,
'content' => $content,
'posted' => $posted,
'id' => $id
];
// la requpete
$sql = "UPDATE posts SET title=:title, content=:content, date=NOW(),posted=:posted WHERE id=:id";
$req = $db->prepare($sql);
$req->execute($e);
}
// Permet delete un article
function delete($title,$content,$posted,$id){
// connexion a la bd
global $db;
// tableau pour la requête
$e = [
'title' => $title,
'content' => $content,
'posted' => $posted,
'id' => $id,
];
// la requpete
$sql = "DELETE FROM posts WHERE posted = 0";
$req = $db->prepare($sql);
$req->execute($e);
}
Merci de vos retours , cordialement.
1 réponse
-
Bonjour,
Déjà... tu postes dans le forum mysql ... c'est donc que ta question concerne uniquement la requête SQL et pas le code php ??
donc, uniquement cette partie du code :DELETE FROM posts WHERE posted = 0
hors, pour juste cette ligne de code sql... je ne vois pas ce qu'on pourrait améliorer.......
Si, par contre, ta question cocnerne l'ensemble PHP + SQL ( déjà il aurait fallu poster dans le forum php !! ) là c'est autre chose...
C'est à dire que ta question concerne cette partie de ton code ?// Permet delete un article function delete($title,$content,$posted,$id){ // connexion a la bd global $db; // tableau pour la requête $e = [ 'title' => $title, 'content' => $content, 'posted' => $posted, 'id' => $id, ]; // la requpete $sql = "DELETE FROM posts WHERE posted = 0"; $req = $db->prepare($sql); $req->execute($e); }
Code, qui, si tu avais appliqué les consignes présentes dans le lien que je t'ai déjà donné :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
devrait te retourner une erreur...
Je ne comprends, d'ailleurs pas, pourquoi passer autant de paramètres dans ta fonction...
pour supprimer, seul l' ID suffit...function delete($id){ $sql = "DELETE FROM posts WHERE id=:id"; $datas = array(':id'=>$id); try{ $req = $db->prepare($sql); $res = $req->execute($datas); }catch(Exception $e){ echo " Erreur : " . $e->getMessage(); } return !empty($res) ? $res : false; }
NB: A l'avenir, merci d'indiquer, dans les balises de code, le LANGAGE ( ici php ) concerné.
Merci de lire attentivement (et entièrement ! ) le contenu du lien suivant :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code