Requete suppression et liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete suppression et liste déroulante

par guilt92 » 09 juin 2008, 15:32

Tout est en ordre, on a posté le message en même temps.
Merci mille fois de ton aide.
De rien ;)

un petit Image ? :)

par nasbe » 09 juin 2008, 15:28

Tout est en ordre, on a posté le message en même temps.

Merci mille fois de ton aide.

par guilt92 » 09 juin 2008, 15:26

if ( $_POST['Supprimer'] == 'Supprimer une soiree' ) 

Code : Tout sélectionner

[Supprimer] => Supprimer une soirée
Il y a une différence... tu ne rentres pas dans cette boucle car soirée est différent de soiree...

je pense qu'un
if(!empty($_POST["Supprimer"]))
suffirait comme condition d'entrée mais bon sinon gère tes accents...

Aussi je mettrais $_POST à la place de $_REQUEST mais pour ça j'ai pas d'argumentation donc c'est peut etre une erreur ;)

par nasbe » 09 juin 2008, 15:19

Voilà ce que cela m'affiche


Array
(
[ListeSoiree] => Soiree latino
[Supprimer] => Supprimer une soirée

)

J'ai trouvé le problème, j'ai modifier

Code : Tout sélectionner

$RecuperationSoiree = $_REQUEST['ListeSoiree'];
par

Code : Tout sélectionner

$RecuperationSoiree = $_POST['ListeSoiree'];
Merci encore mille fois de ton aide.

par guilt92 » 09 juin 2008, 15:03

Fais un
<pre>
<?php
print_r($_POST);
?>
</pre>
Dans ta page qui récupères les valeurs du formulaire et regardes tes valeurs de $_POST["Supprimer"] et $_POST["ListeSoiree"] voir déjà si elles sont correctes.

par nasbe » 09 juin 2008, 14:44

Oui c'est une chaîne de caractère, j'ai modifier la requête mais ca ne joue toujours pas.

Code : Tout sélectionner

$RequeteSuppression="delete from `$table` where NomSoiree = '".$RecuperationSoiree."'";
Non justement, mon echo je ne le vois pas à l'écran mais je comprends pas pourquoi je n'entre pas dans la boucle.

par guilt92 » 09 juin 2008, 14:34

Ta requête de suppression n'est pas tout à fait correcte.
Si, comme je le suppose, NomSoiree est une chaine de caractère alors il peut y avoir des espaces et il faut entourer la valeur de ''. En revanche cela n'est pas nécessaire pour le nom de la table en php.
$RequeteSuppression="delete from ".$table." where NomSoiree = '".$RecuperationSoiree."'"; 
As tu vérifié que tu entrais bien dans la boucle ? Tu voies à l'écran le résultat de ton
echo $RequeteSuppression."\n";
? Si oui qu'affiche-t-il ?

Requete suppression et liste déroulante

par nasbe » 09 juin 2008, 14:28

Bonjour,

J'ai créé une liste déroulante qui affiche les soirées agendées d'un établissement, j'aimerai que depuis celle-ci, on puisse sélectionner une soirée et la supprimer. Ma liste déroulante est correcte, elle affiche bien toute les occurences de la table. Simplement c'est ma requête de suppression qui ne joue pas. Lorsque je clique sur le bouton supprimer, rien ne se passe, si quelqu'un aurait-une idée, merci d'avance.

Pour info, lorsque je fais un delete sur la table depuis MySQL, la requete correspond à ceci :

Delete From `soiree`where Convert(`NomSoiree` USING utf8) = 'nom de la soiree'


//

Code : Tout sélectionner

<?php // Création de la liste déroulante pour les soirées //Connexion à la base de donnée $bd ='escobar'; $lien = mysql_pconnect ("$hostddb", "$loginddb", "$passddb"); mysql_select_db("$baseddb"); $table = 'soiree'; $ListeSoiree = 0; // Si l'authentification est incorrecte on affiche un message if ($lien == FALSE){ echo "connexion impossible à la base $bd"; } else { $RequeteSelectionSoiree = mysql_query ("SELECT NomSoiree FROM $table ORDER BY NomSoiree"); if ($RequeteSelectionSoiree == FALSE){ echo "erreur de resultat"; echo mysql_error(); } else { //On place dans une variable les attributs de notre liste déroulante ainsi que la valeur par défaut. $ListeSoiree = "<SELECT NAME='ListeSoiree'>"; $ListeSoiree.= "<OPTION VALUE=0>Choisissez</OPTION>"; // On boucle sur la table afin d'obtenir la totalité des valeurs de la base de donnée, on les insère dans la liste déroulante while ($TableauSoiree = mysql_fetch_array($RequeteSelectionSoiree)) { $NomSoiree = $TableauSoiree["NomSoiree"]; $ListeSoiree .= "<OPTION VALUE='$NomSoiree'>$NomSoiree</OPTION>"; } $ListeSoiree .= "</SELECT>"; } } // Fermeture de la base mysql_close($lien); ?>


Voici maintenant le code de ma requête de suppression

Code : Tout sélectionner

if ( $_POST['Supprimer'] == 'Supprimer une soiree' ) { // Connexion à la base de donnée $bd ='escobar'; $lien = mysql_pconnect ("$hostddb", "$loginddb", "$passddb"); mysql_select_db("$baseddb"); $table = 'soiree'; // Si le l'authentification est incorrecte on affiche un message if ($lien == FALSE){ echo "connexion impossible à la base $bd"; } else { // Récupération des données rentrées par l'utilisateur $RecuperationSoiree = $_REQUEST['ListeSoiree']; // Sinon on exécute la requête d'insertion $RequeteSuppression="delete from `$table` where NomSoiree = $RecuperationSoiree"; echo $RequeteSuppression."\n"; mysql_query($RequeteSuppression); } // Fermeture de la base mysql_close(); } ?>

et le formulaire



Code : Tout sélectionner

<fieldset> <legend>Supprimer une soirée</legend> <table> <tr></tr> <tr> <td>Nom de la soirée</td> <td><?php print $ListeSoiree;?></td> </tr> <tr> <td></td> <td><input type ="submit" name = "Supprimer" value="Supprimer une soirée"></td> </tr> </table> </fieldset>