Suppression sur une bd mysql à partir d'un bouton (php) !!

Résolu
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 - 12 janv. 2010 à 08:48
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 - 12 janv. 2010 à 18:35
Bonjour à tous !!
J'espère que vous pourrez m'aider !! J'ai créer un petit formulaire, dans celui-ci on choisi une personne dans une liste déroulante. Dans cette liste déroulante, il y a 3 variables (num, nom, prénom) pour bien identifier une personne . Quand on clic sur supprimer, toutes les infos de cette personne doivent être supprimer de ma base de données.
Maintenant, je n'arrive pas à mettre dans une variables par la méthode POST, une des variables de ma liste déroulante (le num). Voici les codes de mes deux pages !!

Le code du formulaire :



Modification ou suppression des informations des bénévoles


<center>
<select name='ld_benevole' >
<?php
require('Connect.php');
mysql_connect(SERVEUR, NOM, MDP) or die ('erreur de connexion au serveur my sql : '.SERVEUR);
mysql_select_db(BASE) or die ('erreur de connexion à la base de données : '.BASE);
$sql="select NumBenevole, NomBenevole, PrenomBenevole from t_benevoles;";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$variable1 = $row['NumBenevole'];
$variable2 = $row['NomBenevole'];
$variable3 = $row['PrenomBenevole'];
echo'<option>'.$variable1;
echo(" ");
echo $variable2;
echo(" ");
echo $variable3;
echo'</option>';
}
?>
</select>

</center>

<center>
<form method='post' name='form_modifier' action='modifiable_exec.php'>

</form>,
<form method='post' name='form_supprimer' action='suppression_exec.php'>

</form>

</center>





Maintenant, voici le code réaliser pour l'exécution de la suppression :
<?php
//appel au fichier "Connect.php" intégrant les constantes de connexion à la BDD
require('Connect.php');

//récupération des données du formulaire de la page "Nvo_Benevol.php"
$code = $_POST["ld_benevole"];

//connexion au serveur Mysql
mysql_connect(SERVEUR, NOM, MDP) or die ("erreur de connexion au serveur my sql : ".SERVEUR);
//selection de la BDD
mysql_select_db(BASE) or die ("erreur de connexion à la base de données : ".BASE);

//création de 2 requêtes permettant l'insertion du CodeFonction et du CodeCentre
$sql="";
//echo($sql);
//vérification qu'il a bien un résultat
if (mysql_num_rows($sql)>0)
{
while ($CodeBenevole=mysql_fetch_array($sql))
{
//création de la requete de suppression

//exécution de la requete
mysql_query($insertion);
}
}
//retour vers la page Ad_CreationNews.php
header("location:accueil.php");
?>

J'espère que c'est assez lisible et que vous pourrez m'aider !!

11 réponses

Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 10:56
Met tes codes entre balises code s'il te plais en sélectionnant php, j'y verrais plus clair... (Et indente le)

Ensuite dans la création de ton select :
<?php
while($row=mysql_fetch_array($result))
{
  $variable1 = $row['NumBenevole'];
  $variable2 = $row['NomBenevole'];
  $variable3 = $row['PrenomBenevole'];
  echo'<option>'.$variable1;
  echo(" ");
  echo $variable2;
  echo(" ");
  echo $variable3;
  echo'</option>';
} 
?>

Tas juste à réecrire ton option avec ce que je t'ai indiqué au dessus :
<?php
   echo '<option value="'.$id_benevol.'">'.$id_benevol.' '.$nom_benevol.'.....
// Je te laisse finir ;)
?>

_________________________________
Min iPomme
3
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 09:08
Bonjour,

Je dirais que ton problème n'est pas un problème php mais HTML. Relis ton code (Construction du select et d'un formulaire)...

1 - Les options de ton select on des valeurs à l'affichage mais pas de valeurs posts.
2 - Ton select n'est pas entouré de balises formulaire.


_________________________________
Min iPomme
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
12 janv. 2010 à 09:24
AMerci !! Effectivement c'était une erreur de ma part !! Mais cela ne résous pas mon problème !! Maintenant, en faisant un echo de ma variable $code, dans le code pour la suppression, j'obtiens ceci :

3 Kervarec Tristan
Notice: Undefined variable: sql in C:\wamp\www\RestosDuCoeur\suppression_exec.php on line 14

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result ressource in C:\wamp\www\RestosDuCoeur\suppression_exec.php on line 14

Je ne vois toujours pas comment mettre le code(3) en variable, sachant qu'il est avec deux autres variables dans ma liste déroulante.

As-tu une idée à me suggérer pour résoudre mon problème !!!???
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 09:55
Alors, regarde tes "erreurs" indiquées par php :
Notice: Undefined variable: sql in C:\wamp\www\RestosDuCoeur\suppression_exec.php on line 14 

Notice = Information, pour débugage
Undefined variable: sql = Une variable est indéfinie mais utilisée (ici $sql)
C:\wamp\www\RestosDuCoeur\suppression_exec.php on line 14 = Dans le fichier suppression_exec.php sur la ligne 52

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result ressource in C:\wamp\www\RestosDuCoeur\suppression_exec.php on line 14

Warning = La encore ce n'est pas une erreur qui bloque le déroulement de l'application mais c'est une erreur sur la ligne, les resultats serons donc fossés
mysql_num_rows() supplied argument is not a valid MySQL result ressource = La c'est l'erreur, elle dit que ta requete semble incorrect (Probablement du à l'erreur du dessus vu que $sql est vide...)

Maintenant le bout de code à pb :
<?php
//création de 2 requêtes permettant l'insertion du CodeFonction et du CodeCentre
$sql="";
//echo($sql);
//vérification qu'il a bien un résultat
if (mysql_num_rows($sql)>0)
{
  while ($CodeBenevole=mysql_fetch_array($sql))
  {
    //création de la requete de suppression

    //exécution de la requete
    mysql_query($insertion);
  }
}
?>

Pourquoi ce mysql_num_rows($sql)>0 ? Sachant que tu as vidé $sql juste au dessus...
_________________________________
Min iPomme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
12 janv. 2010 à 10:14
D'accord, faute d'inattention, je vais de ce pas corrigé sa !! Mais une dernière question, et merci de m'accorder de ton temps !! La question qui me t'arrode l'esprit c'est : j'ai 3 variables dans ma liste déroulante mais je ne veux qu'une seul de ces variables pour faire ma requête, c'est à dire le numéro !!!! Que dois-je faire ????? Comment puis-je préciser que c'est telle variable de telle liste déroulante que je veux mettre dans une autre variable par la method POST ??????,
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 10:27
Un select se construit comme ca :
<select name="toto">
<option value="1">1 Chuck Norris</option>
<option value="2">2 Steven Seagal</option>
</select>
Si l'utilisateur sélectionne "1 Chuck Norris" (en même temps ce serait prendre un grand risque que de sélectionner autre chose
), la variable $_POST['toto'] contiendras juste 1 (Le contenu du value de l'option)...

_________________________________
Min iPomme
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
12 janv. 2010 à 10:35
Je sais je suis chiant !!
Avec ce code :

<?php
//appel au fichier "Connect.php" intégrant les constantes de connexion à la BDD
require('Connect.php');

//récupération des données du formulaire de la page "Nvo_Benevol.php"
$code = $_POST["ld_benevole"];
//echo ($code);
//connexion au serveur Mysql
mysql_connect(SERVEUR, NOM, MDP) or die ("erreur de connexion au serveur my sql : ".SERVEUR);
//selection de la BDD
mysql_select_db(BASE) or die ("erreur de connexion à la base de données : ".BASE);

//création de la requete de suppression
$suppression ="delete from t_benevoles where NumBenevole='$code';";
echo($suppression);
//exécution de la requete
//mysql_query($suppression);

//retour vers la page Ad_CreationNews.php
//header("location:accueil.php");
?>

Et en faisant l'echo de ma requête, j'obtient ceci :
delete from t_benevoles where NumBenevole='3 Kervarec Tristan';
Or c'est juste 3 que je veux préciser comme num !!

Voilà mon problème !!!
0
WrestlingMan Messages postés 78 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 17 février 2011 1
12 janv. 2010 à 11:24
Merci beaucoup sa marche du tonnerre !! Merci de ta patience et de ton aide !!
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 11:26
De rien, bonne continuation et soit bien attentif à ce que tu fais ...


_________________________________
Min iPomme
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
12 janv. 2010 à 18:23
Salut,

J'ai rien de constructif à apporter, je voulais juste dire que cette phrase :
Si l'utilisateur sélectionne "1 Chuck Norris" (en même temps ce serait prendre un grand risque que de sélectionner autre chose)

m'a fait éclater de rire.
Merci :)

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
12 janv. 2010 à 18:35
Désolé...


_________________________________
Min iPomme
0
Rejoignez-nous