Delete ne fonctione pas
Résolu
supfred
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
supfred Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
supfred Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaye de faire une requête pour mysql qui doit m'effacer un enregistrement en fonction d'un choix fait préalablement dans un formulaire liste.
Mais rien ne s'éfface.
Lorsque je fait un echo de la requête et que je l'encode via mysql myadmin ça fonctionne.
Pouvez-vous m'aider, ça fait trois heures que je bloque. voici mon code :
je vous remercie de votre aide.
j'essaye de faire une requête pour mysql qui doit m'effacer un enregistrement en fonction d'un choix fait préalablement dans un formulaire liste.
Mais rien ne s'éfface.
Lorsque je fait un echo de la requête et que je l'encode via mysql myadmin ça fonctionne.
Pouvez-vous m'aider, ça fait trois heures que je bloque. voici mon code :
<?php $es=$_REQUEST['listesondages']; include("connexion.php"); connexion(); mysql_query("DELETE FROM sondage WHERE nomsondage = '$es'") or die(mysql_error()) ; mysql_close(); ?>
je vous remercie de votre aide.
A voir également:
- Delete ne fonctione pas
- Hiberfil.sys delete - Guide
- Just delete me - Guide
- Impossible d'installer hyper-v le processeur ne dispose pas des fonctions de virtualisation requises ✓ - Forum Hyper-V
- Les configurations ipv4 utilisateur peuvent ne pas fonctionner correctement en raison de l'architecture de routage ipv6 wan actuelle. ✓ - Forum Réseau
- *#9900# delete dumpstate/logcat - Forum Samsung
5 réponses
Je ne connais pas la méthode $_REQUEST mais tu devrais lire ceci :
- https://www.developpez.net/forums/d89723/php/langage/_request-vs-_get-_post/
Peut-être y a-t-il conflit entre deux réceptions simultanées ?
- https://www.developpez.net/forums/d89723/php/langage/_request-vs-_get-_post/
Peut-être y a-t-il conflit entre deux réceptions simultanées ?
Bonjour,
lorsque je fais un echo de ma variable $es, j'ai bien l'équivalent d'une des données se trouvant dans la colone "nomsondage" de ma table "sondage" de ma Bd mysql.)
Mais cette ligne ne s'efface pas.par php myadmin lorsque je tape ma requete sql ça s'éfface correctement.
Merci encore pour l' aide que vous m'apportez.
voici la page php ou se trouve ma liste
et revoici la page effacer.php
lorsque je fais un echo de ma variable $es, j'ai bien l'équivalent d'une des données se trouvant dans la colone "nomsondage" de ma table "sondage" de ma Bd mysql.)
Mais cette ligne ne s'efface pas.par php myadmin lorsque je tape ma requete sql ça s'éfface correctement.
Merci encore pour l' aide que vous m'apportez.
voici la page php ou se trouve ma liste
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> <link href="styles.css" rel="stylesheet" type="text/css" /> </head> <body> <p>Veuillez selctionner le sondage que vous ne voulez plus. </p> <p>Ensuite cliquez sur le boutton "Effacer". </p> <form action="effacer.php" method="post"> <select name="listesondages">'; <?php include("connexion.php"); connexion(); $response= mysql_query("SELECT nomsondage FROM sondage ORDER BY nomsondage") or die(mysql_error()) ; while ( $donnees = mysql_fetch_array($response) ){ $u=$donnees['nomsondage']; echo "<option value=\" $u \"> $u </option>" ; } mysql_close(); ?> </select> <input type="submit" name="envoyer" id="envoyer" value="Effacer" tabindex="3" /> </form> </body> </html>
et revoici la page effacer.php
<?php $es=$_REQUEST['listesondages']; include("connexion.php"); connexion(); mysql_query("DELETE FROM sondage WHERE nomsondage = '$es'") or die(mysql_error()) ; mysql_close(); ?>
Salut,
essayes comme ça avec des traces d'erreurs:
essayes comme ça avec des traces d'erreurs:
$es=$_POST['listesondages']; include("connexion.php"); $cnx=connexion(); if($cnx) { echo "Connexion OK "; }else{ echo "Connexion NON OK ! "; } $req=mysql_query("DELETE FROM sondage WHERE nomsondage='".$es."'") or die("Pb avec la requette delete ".mysql_error()) ; if($req) { echo "Requette delete OK "; }else{ echo "Requette delete non OK ! "; } mysql_close(); ?>
Merci,
dèsque je rentre à la maison j'essaye ce code et je me permettrai de vous tenir au courant des résultats.
dèsque je rentre à la maison j'essaye ce code et je me permettrai de vous tenir au courant des résultats.
Voici ce qui apparait à l'écran :
Connexion NON OK ! Requette delete OK
Et bien entendu la ligne n'est pas delete.
Pourtant lorsque je change juste ma variable se trouvant dans la requete sql par 'lesondagetrois' la ligne correspondant est bien effacer donc comment ce fait-il que j'ai connexion non ok?
Voici donc le code qui fonctionne (sans variable) mais j'ai bien un message
Connexion NON OK ! Requette delete OK
Je craque je vous en prie, aidez moi.
Connexion NON OK ! Requette delete OK
Et bien entendu la ligne n'est pas delete.
Pourtant lorsque je change juste ma variable se trouvant dans la requete sql par 'lesondagetrois' la ligne correspondant est bien effacer donc comment ce fait-il que j'ai connexion non ok?
Voici donc le code qui fonctionne (sans variable) mais j'ai bien un message
Connexion NON OK ! Requette delete OK
Je craque je vous en prie, aidez moi.
<?php $es=$_POST['listesondages']; include("connexion.php"); $cnx=connexion(); if($cnx) { echo "Connexion OK "; }else{ echo "Connexion NON OK ! "; } $req=mysql_query("DELETE FROM sondage WHERE nomsondage='lesondageun'") or die("Pb avec la requette delete ".mysql_error()) ; if($req) { echo "Requette delete OK "; }else{ echo "Requette delete non OK ! "; } mysql_close();
il faudrait voir comment est faite ta fonction connexion()
est que à la fin elle te renvoie true ,
par exemple as tu:
parce que si la fonction ne renvoie rien en cas de sucès de la connexion c'est normal que tu ais Connexion NON OK
sinon pour ton pb de DELETE :
essayes comme ça:
est que à la fin elle te renvoie true ,
par exemple as tu:
function connexion(){ ........ $db=mysql_select_db(.....); if($db) { return true }else{ return false } }
parce que si la fonction ne renvoie rien en cas de sucès de la connexion c'est normal que tu ais Connexion NON OK
sinon pour ton pb de DELETE :
essayes comme ça:
$es=$_POST['listesondages']; include("connexion.php"); connexion(); $req1=mysql_query("SELECT * FROM sondage WHERE nomsondage='".$es."'"); echo "nombre enrengistrements correspondants a: ".$es." = ".mysql_num_rows(); $req=mysql_query("DELETE FROM sondage WHERE nomsondage='".$es."'") or die("Pb avec la requette delete ".mysql_error()) ; if($req) { echo "Requette delete OK; }else{ echo "Requette delete non OK ! "; } mysql_close(); ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui,oui , oui , OUUUUIII,
J'ai enfin trouvé ce qu'il faut faire. je ne sais pas pourquoi, mais ça marche.
Visiblement il n'y a pas de problème de connexion sinon ma requête manuelle ne fonctionnerait pas .
Donc le soucis est dans le passage de la variable.
J'ai donc taper le texte correspondant à un enregistrementdans une variable $es et la ça fnctionnait.
Donc pas de problème de passage d'information par une variable Mais lorsque je faisais un echo du post le texte semblait juste Ou est donc l'erreur......
lorsque je fais un trim()
par exemple:
La ça fonctionne donc il y a des espaces qui ont du venir se mettre dans les valeurs de ma liste et comme ce sont des espaces, je ne les voyais pas dans mon echo.
Comment sont venus ces espaces, je ne sais pas mais me voilà soulagé.
Un tout grand merci à tous ceux qui mon soutenu et aider durant ses longues heures.
J'ai enfin trouvé ce qu'il faut faire. je ne sais pas pourquoi, mais ça marche.
Visiblement il n'y a pas de problème de connexion sinon ma requête manuelle ne fonctionnerait pas .
Donc le soucis est dans le passage de la variable.
J'ai donc taper le texte correspondant à un enregistrementdans une variable $es et la ça fnctionnait.
Donc pas de problème de passage d'information par une variable Mais lorsque je faisais un echo du post le texte semblait juste Ou est donc l'erreur......
lorsque je fais un trim()
par exemple:
$es=trim($_POST['listesondages']);
La ça fonctionne donc il y a des espaces qui ont du venir se mettre dans les valeurs de ma liste et comme ce sont des espaces, je ne les voyais pas dans mon echo.
Comment sont venus ces espaces, je ne sais pas mais me voilà soulagé.
Un tout grand merci à tous ceux qui mon soutenu et aider durant ses longues heures.
en effet, j'avais utilisé un post donc j'ai changé le $_REQUEST par un $_POST mais sans succès.
J'ai toujours essayé avec le $_GET mais pas bon non plus.
Je te remercie quand même pour ton aide
et as tu bien mis dans ton formulaire:
<form method="post" action=.... >