Bonjour,

actuellement je cherche à réaliser un programme qui permette de supprimer des données de ma base de données en fonction d'un choix réalisé par un utilisateur dans une liste déroulante.

L'utilisateur a accès à une liste déroulante avec le listage d'un (ou plusieurs) champ(s) de ma base de données grâce à cette page :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
	<body>
		<?php 
		include 'connectionbdd.php'; // permet la connection à la base de données grâce au fichier connectionbdd.php
		?>	
		<h1> Supprimer une association </h1>
 
		<form action="traitementsupprimassociation.php" method="post"> 
 
		<label for="LIBELLE"> Nom de l'association : </label> 
		<select name="LIBELLE" id="LIBELLE">
		<?php
		$reponse = $bdd->query('SELECT LIBELLE FROM association');
 
		while ($donnees = $reponse->fetch())
		{
			?>
			<option value="<?php echo $donnees['LIBELLE']; ?>"> <?php echo $donnees['LIBELLE']; ?> </option>
			<?php
		}
		?>	
		</select>
		</br>
		<label for="TAG"> TAG de l'association : </label>
		<select name="TAG" id="TAG">
		<?php 
		$reponse2 = $bdd->query('SELECT TAG FROM association');
 
		while ($donnees2 = $reponse2->fetch())
		{
			?>
			<option value="<?php echo $donnees2['TAG']; ?>"> <?php echo $donnees2['TAG']; ?> </option>
			<?php
		}		
		?>		
		</select>
		</br>
	<input type= "submit" value= "Supprimer"> </br>
	</form>
	</body>
</html>

Le but de la page "traitementsupprimassociation.php" est de supprimer de la bdd les données sélectionnées dans la liste par l'utilisateur.

J'ai réalisé la page :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php
include 'connectionbdd.php'; // permet la connection à la base de données grâce au fichier connectionbdd.php
if (isset($_POST['LIBELLE'])) {
 
	// on recherche l'id de l'association à supprimer
	$sql = 'SELECT ID FROM association WHERE LIBELLE = "'.$_POST['LIBELLE'].'"';
 
	// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
 
	// on recupere le resultat sous forme d'un tableau
	$data = mysql_fetch_array($req);
 
	// on recupere la valeur qui nous intersse
	$id_association = $data['ID'];
 
	// on libère l'espace mémoire alloué pour cette interrogation de la base
	mysql_free_result ($req);
 
	// lancement de la requête pour effacer notre association
	$sql ='DELETE from association WHERE LIBELLE="'.$_POST['LIBELLE'].'"';
 
	// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
	// un petit message afin de voir ce qui s'est passé
	echo 'Nous venons de supprimer '.$_POST['LIBELLE'].' de la base';
}
else {
	echo 'La variable de notre formulaire n\'est pas initialisée.';
}
?>

Mon problème est que je reçois ce message d'erreur : Deprecated: mysql_query() et je n'arrive pas à trouver de solutions.

PS : J'ai mis deux valeurs à choisir dans la liste lors de la première page mais pour mes tests, je test avec une seule des deux valeurs.