Supprimer une ligne dans la base donnée
Fermé
jobouille
Messages postés
286
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
27 septembre 2017
-
Modifié par jobouille le 19/04/2015 à 15:52
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 19 avril 2015 à 22:29
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 19 avril 2015 à 22:29
A voir également:
- Supprimer une ligne dans la base donnée
- Supprimer une page word - Guide
- Aller à la ligne dans une cellule excel - Guide
- Supprimer compte instagram - Guide
- Partager photos en ligne - Guide
- Site de vente en ligne particulier - Guide
5 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
19 avril 2015 à 16:07
19 avril 2015 à 16:07
Bonjour
problème lié aux doubles quotes devant $id
problème lié aux doubles quotes devant $id
jee pee
Messages postés
40559
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
17 décembre 2024
9 459
19 avril 2015 à 16:09
19 avril 2015 à 16:09
Bonjour,
Je ne pratique pas le php. Mais la logique de tes simples quotes et double quotes n'est informatiquement pas correcte :-)
Tu as une double quote devant $id qui n'a pas son pendant fermant.
cdlt
Je ne pratique pas le php. Mais la logique de tes simples quotes et double quotes n'est informatiquement pas correcte :-)
'DELETE FROM chat WHERE id="$id');
Tu as une double quote devant $id qui n'a pas son pendant fermant.
cdlt
jobouille
Messages postés
286
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
27 septembre 2017
10
19 avril 2015 à 16:21
19 avril 2015 à 16:21
Je viens d'enlever les double quote, ce qui donne ceci :
Mais le problème persiste toujours : le message ne se supprime pas :/
$delMsg = $bdd->prepare('DELETE FROM chat WHERE id=$id');
Mais le problème persiste toujours : le message ne se supprime pas :/
jee pee
Messages postés
40559
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
17 décembre 2024
9 459
Modifié par jee pee le 19/04/2015 à 16:33
Modifié par jee pee le 19/04/2015 à 16:33
Tu devrais regarder : https://stackoverflow.com/questions/1569610/delete-from-table-where-id-id-variable-refuses-to-stick c'est aussi une question, donc avec aussi un problème mais ...
Il semble qu'il faille definir la variable localement avant de l'utiliser, plus les quotes sont à l'inverse de toi.
Et chose importante, quand on programme, on doit gérer les erreurs. C'est à dire que le code en cas d'anomalie doit d'envoyer un message. Sur le lien plus haut cela me semble répondre à cette logique.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Il semble qu'il faille definir la variable localement avant de l'utiliser, plus les quotes sont à l'inverse de toi.
Et chose importante, quand on programme, on doit gérer les erreurs. C'est à dire que le code en cas d'anomalie doit d'envoyer un message. Sur le lien plus haut cela me semble répondre à cette logique.
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
jobouille
Messages postés
286
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
27 septembre 2017
10
19 avril 2015 à 16:51
19 avril 2015 à 16:51
J'ai essayé de faire un peu comme le post que vous m'avez donné.
Mais voilà bien 20min que j'y suis et aucun résultat :/
Mais voilà bien 20min que j'y suis et aucun résultat :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
19 avril 2015 à 17:54
19 avril 2015 à 17:54
Premier souci ...
Où recupères tu $id dans ton code ?
Ensuite.... sorts la requête de son exécution... ainsi tu peux en faire une ECHO et la tester en direct dans ta BDD histoire de comprendre où se trouve le PB ...
Donc :
Où recupères tu $id dans ton code ?
Ensuite.... sorts la requête de son exécution... ainsi tu peux en faire une ECHO et la tester en direct dans ta BDD histoire de comprendre où se trouve le PB ...
Donc :
<?php session_start(); // Connexion à la BDD // (A mettre dans un fichier à part que tu auras juste à inclure au besoin ! ) $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', ''); // Récupération des variables: $id = isset($_GET['id'])?$_GET['id']:NULL; // Traitement : if($id){ $sql = "DELETE FROM chat WHERE id=':id'"; $param =array(":id"=>$id); $delMsg = $bdd->prepare($sql); $result = $delMsg->execute($param); if($result){ header("Location:chat.php"); }else{ echo "<pre> ERREUR !<br>"; print_r($sql); print_r($param); echo "</pre>"; } }else{ echo "<br> NO ID !"; } ?>
jobouille
Messages postés
286
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
27 septembre 2017
10
19 avril 2015 à 21:19
19 avril 2015 à 21:19
J'ai mit le code que vous venez de me donner dans delete_msg.php
Ensuite, j'ai mit ce bouton qui apparaît dans chaque message posté :
Et voilà ce qui se passe lorsqu'on clic sur le bouton "envoyer" pour envoyer notre message :
Merci
PS: à noter qu'il y a 3 pages php pour ce chat :
- La page place_du_village.php où se trouve le code php ci dessus pour envoyer un message.
- La page chat.php qui est inclu via un iframe dans place_du_village.php
- Et enfin la page delete_msg.php qui, j'espère, permettra de supprimer un message.
Ensuite, j'ai mit ce bouton qui apparaît dans chaque message posté :
<a href="delete_msg.php" class="supprimer">Supprimer</a>
Et voilà ce qui se passe lorsqu'on clic sur le bouton "envoyer" pour envoyer notre message :
if(isset($_POST['envoyer'])) { if(isset($_POST['message']) AND !empty($_POST['message'])) { $id = htmlspecialchars($msg['id']); $avatar = htmlspecialchars($user['avatar']); $pseudo = htmlspecialchars($user['pseudo']); $message = nl2br(htmlspecialchars($_POST['message'])); $grade = htmlspecialchars($user['grade']); $idmembre = htmlspecialchars($user['id']); $date = date("d-m-Y"); $heure = date("H:i:s"); $insertmsg = $bdd->prepare('INSERT INTO chat(id, avatar, pseudo, message, grade, idmembre, date, heure) VALUES(?, ?, ?, ?, ?, ?, ?, ?)'); $insertmsg->execute(array($id, $avatar, $pseudo, $message, $grade, $idmembre, $date, $heure)); header ('Location: place_du_village.php'); } }
Merci
PS: à noter qu'il y a 3 pages php pour ce chat :
- La page place_du_village.php où se trouve le code php ci dessus pour envoyer un message.
- La page chat.php qui est inclu via un iframe dans place_du_village.php
- Et enfin la page delete_msg.php qui, j'espère, permettra de supprimer un message.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
jobouille
Messages postés
286
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
27 septembre 2017
19 avril 2015 à 22:29
19 avril 2015 à 22:29
Ensuite, j'ai mit ce bouton qui apparaît dans chaque message posté :
Non .. tu devrais avoir la même chose que dans ta question initiale ... à savoir :
<a href="delete_msg.php?id=<?php echo $msg['id'];?>" class="supprimer">Supprimer</a>
comme tu peux le voir... dans ce code... on passe un argument en GET ... l' ID ....
C'est grâce à ça... que le code que je t'ai donné peut fonctionner !