Page 1 sur 1

effacer dans la base de donnée, marche pas mais je voit pas

Posté : 25 août 2008, 10:12
par Dbzes
Bonjour,

Pour ma société, je suis en train de créer une petite interface de gestion de base de donnée. Je suis bloqué à un point mais j'ai beau regarder dans mon code je comprend pas pourquoi cela ne marche pas ?

j'explique :

J'ai des informations dans une base de donnée et à l'aide d'un bouton je souhaite effacer ces données

j'ai une table qui se nomme "contacts" et a un champs qui se nomme "nom"

donc :

voici le code de mon bouton

Code : Tout sélectionner

<form action="" method="post" > <input type="hidden" name="supp" value="1" /> <input type="submit" value="Supprimer le contact" />
et ensuite la requete qui s'execute si je clique sur le bouton :
$suppri = $_POST['supp'];

if ($suppri == 1)
	{
		$effacage = mysql_query('DELETE FROM contacts WHERE nom="dupont"');
	}
Voila merci de votre aide :wink:

Posté : 25 août 2008, 11:16
par Ryle
Et c'est quoi le problème que tu rencontres exactement ?

$suppri est pas égal à 1 ? la requête s'exécute pas ? elle retourne une erreur ? y a pas de connexion à la base ? y a pas d'enregistrement 'dupont' ? y a bien un enregistrement mais il n'est pas supprimé ? ...

Posté : 25 août 2008, 11:25
par Vurtu
Et si tu défini action du form ?

Posté : 25 août 2008, 11:26
par @rthur
Bonjour,

La première chose à faire pour débuguer c'est de tester ta requête SQL directement dans phpmyadmin.

La deuxième chose que tu peux faire c'est afficher les erreurs MySQL au cas où ta requête s'exécuterai mal. Remplace
$effacage = mysql_query('DELETE FROM contacts WHERE nom="dupont"'); 
par
$effacage = mysql_query('DELETE FROM contacts WHERE nom="dupont"') or die("Erreur MySQL : ".mysql_error()); 
Si jusque là tout marche bien, alors il faut que tu regardes le PHP pour déterminer pourquoi le mysql_query() ne s'exécute pas.

Posté : 25 août 2008, 15:32
par Dbzes
Et c'est quoi le problème que tu rencontres exactement ?

$suppri est pas égal à 1 ? la requête s'exécute pas ? elle retourne une erreur ? y a pas de connexion à la base ? y a pas d'enregistrement 'dupont' ? y a bien un enregistrement mais il n'est pas supprimé ? ...
mon probleme est que la requete n'efface pas les données.

Le systeme SQl or die me retourne aucune information

la variable jai verifié, elle est bien egale a 1

Posté : 25 août 2008, 16:11
par Berzemus
Il ne faut pas une majuscule à dupont ?

Berze, pour la réponse utile..

Posté : 25 août 2008, 16:18
par _activmik
Tu te connectes en root sur ta bdd ?

Posté : 26 août 2008, 16:22
par yegortitov
Bonjour,

pour ta requête, je ne sais pas si deleter à partir du nom est une bonne solution. Si il y a plusieurs "dupont" dans ta base de données, ils seront tous supprimés. Utilises l'id de la personne.

Et si tu faisais juste ça :

Code : Tout sélectionner

if ($suppri == 1) { mysql_query('DELETE FROM contacts WHERE nom="dupont"'); }
Bon courage

Posté : 27 août 2008, 10:02
par @rthur
La première chose à faire pour débuguer c'est de tester ta requête SQL directement dans phpmyadmin.