Les Allergies
Alimentaires
Posez votre question Signaler

[PHP] Requête suppression et liste déroulante

nasbe 30Messages postés 11 septembre 2007Date d'inscription - Dernière réponse le 19 juin 2008 à 14:21
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'
<?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
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
<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>
Lire la suite 

[PHP] Requête suppression et liste déroulante »

3 réponses
Réponse
+0
moins plus
la réposne est dans la questgion : recopie la requete au lieu d'inventer
Ajouter un commentaire
Réponse
+0
moins plus
Ben j'ai essayer la requête suivante mais le problème n'est pas là.


$RequeteSuppression="delete from `$table` where Convert(`NomSoiree` USING utf8) = '".$RecuperationSoiree."'";
lauraM - 19 juin 2008 à 14:21
Salut,
j'ai le même problème que toi.
En fait ma liste déroulante s'affiche bien avec les valeurs de ma table mais lorsque je veux supprimer une page m'informe que la donnée a bien été supprimer alors que quand je vérifie dans mysql il y est toujours.
Donc je voudrais savoir si ta trouvé la solution ?
L'aide de tout le monde est la bienvenue merci d'avance.
Ajouter un commentaire
Ce document intitulé « [PHP] Requête suppression et liste déroulante » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?