Suppression sur une bd mysql à partir d'un bouton (php) !! [Résolu]

Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
- - Dernière réponse : 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 !!
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Tonio_35
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
0
Merci
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
Commenter la réponse de Tonio_35
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
0
Merci
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 !!!???
Commenter la réponse de WrestlingMan
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
0
Merci
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
Commenter la réponse de Tonio_35
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
0
Merci
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 ??????,
Commenter la réponse de WrestlingMan
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
0
Merci
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
Commenter la réponse de Tonio_35
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
0
Merci
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 !!!
Commenter la réponse de WrestlingMan
Messages postés
78
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
17 février 2011
1
0
Merci
Merci beaucoup sa marche du tonnerre !! Merci de ta patience et de ton aide !!
Commenter la réponse de WrestlingMan
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
0
Merci
De rien, bonne continuation et soit bien attentif à ce que tu fais ...


_________________________________
Min iPomme
Commenter la réponse de Tonio_35
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
0
Merci
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à ;)
Commenter la réponse de neigedhiver
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
0
Merci
Désolé...


_________________________________
Min iPomme
Commenter la réponse de Tonio_35