Delete ne fonctione pas
Résolu/Fermé
supfred
Messages postés
22
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
9 septembre 2008
-
26 mai 2008 à 00:00
supfred Messages postés 22 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 septembre 2008 - 26 mai 2008 à 18:50
supfred Messages postés 22 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 septembre 2008 - 26 mai 2008 à 18:50
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 ?
supfred
Messages postés
22
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
9 septembre 2008
6
26 mai 2008 à 09:20
26 mai 2008 à 09:20
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(); ?>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
26 mai 2008 à 13:04
26 mai 2008 à 13:04
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(); ?>
supfred
Messages postés
22
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
9 septembre 2008
6
26 mai 2008 à 15:12
26 mai 2008 à 15:12
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.
supfred
Messages postés
22
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
9 septembre 2008
6
26 mai 2008 à 18:19
26 mai 2008 à 18:19
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();
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
26 mai 2008 à 18:37
26 mai 2008 à 18:37
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
supfred
Messages postés
22
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
9 septembre 2008
6
26 mai 2008 à 18:50
26 mai 2008 à 18:50
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.
26 mai 2008 à 00:18
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
26 mai 2008 à 08:50
et as tu bien mis dans ton formulaire:
<form method="post" action=.... >