Amélioration requête SQL DELETE
Résolu
Potame137
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 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.
A voir également:
- Amélioration requête SQL DELETE
- Hiberfil.sys delete - Guide
- Juste delete me - Guide
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- (+) Sql - Forum Programmation
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 :
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 ?
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...
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
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