Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 00h38   #1
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Par défaut Probleme supression de données en utilisant une checkBox

Bonsoir ,

J'ai créer un tableau qui me permet de visualiser une des tables de la base données , j'ai ajouté un " bouton de type ='radio' , et je veux en selectionnant la bouton , je supprime l'enregistrement associé , voila mon code .
Code :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<head>
<h1>Super Administrateur  </h1>
</head>
<?php
session_start();

if ($_SESSION['username'])

echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
   else
      die("Vous devez vous connecter !");  

echo"<h1>Interrogation table des users : Tableau </h1><p>";

require_once ('connection.php');
$sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user ";
$result = mysql_query ($sql);
$champs = mysql_num_fields($result);
$enregistrements = mysql_num_rows($result);
echo "<p>Nombre d'enregistrements : $enregistrements</p>";
echo "<table border='1' cellspacing='0'>"; // Début du tableau
echo "<tr>"; // On crée une ligne
for ($i = 0;$i < $champs;$i++) {
$nomChamp = mysql_field_name($result, $i);
echo "<th>$nomChamp </th>"; }
echo "<th>Selectionner</th>";
 
echo "</tr>\n"; // On ferme la ligne
while ($row = mysql_fetch_assoc($result)) {
echo "<tr>"; // On crée une ligne
foreach ($row as $key => $value) {

echo "<td> $value&nbsp;</td>"; 

}

echo "<td><form action ='superadmin.php' method ='POST' ><input type=radio name='maj' value='0'></form></td>";
echo "</tr>\n"; // On ferme la ligne

}
echo "</table>\n"; // On ferme le tableau
echo"<form action ='superadmin.php' method ='POST' ><p>
<input type='submit' name='supprimer' value ='Supprimer'>
<input type='submit' name='modifier' value ='Modifier'></form>";



if ($_POST['supprimer'])
{

		
	$requetechange = mysql_query ("
			 	 DELETE FROM t_user where superadmin='0'");
			 
}

Comment faire pour prendre en compte le "radio " sélectionné dans ma requete SQL ?

Merci !
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h19   #2
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Par défaut Voila le résultat

Ci-joint l'image de résultat donné par le code précédent ( j'ai ajouté deux champs ) .
Explication: Mon but est lorsque je sélectionne une case à cocher et je clique sur "supprimer" , l'enregistrement disparaît
Images attachées
Type de fichier : jpg result.jpg (46,3 Ko, 6 affichages)
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h28   #3
Membre éclairé
 
Avatar de Sekigawa
 
Développeur Web
Inscription : mars 2008
Messages : 426
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 426
Points : 316
Points : 316
Salut,

Je ne vois pas où est le problème... Tu récupères comment ce que te renvois ta checkbox ?

Pourrais-t-on avoir le code de ta page en entier ?

A+
__________________
Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.
Sekigawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h34   #4
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Code :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<head>Page du SuperAdministrateur</head>
<?php
session_start();

  if ($_SESSION['username'])

echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
   else
      die("Vous devez vous connecter !");  

echo"<h1>Interrogation table des users : Tableau </h1><p>";

require_once ('connection.php');
$sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user where superadmin='0' ";
$result = mysql_query ($sql);
$champs = mysql_num_fields($result);
$enregistrements = mysql_num_rows($result);
echo "<p>Nombre d'enregistrements : $enregistrements</p>";
echo "<table border='1' cellspacing='0'>"; // Début du tableau
echo "<tr>"; // On crée une ligne
echo "<th>Selectionner</th>";
for ($i = 0;$i < $champs;$i++) {
$nomChamp = mysql_field_name($result, $i);

echo "<th>$nomChamp </th>"; }
echo "<th>Modifier</th>";
echo "<th>Supprimer</th>";
echo "</tr>\n"; // On ferme la ligne
// parcours 
while ($row = mysql_fetch_assoc($result)) {

echo "<tr>"; // On crée une ligne
echo "<td><center><form action ='superadmin.php' method ='POST' ><input type=checkbox name='maj[]' value='' ></center></form></td>";
		
//affiche ce qui a ete parcouru
foreach ($row as $key => $value) {

echo "<td> $value&nbsp;</td>"; 

}

echo "<td><img src='images/b_edit.png'></form></td>";
echo "<td><img src='images/b_drop.png'></form></td>";

echo "</tr>\n"; // On ferme la ligne

}
echo "</table>\n"; // On ferme le tableau
echo"<form action ='superadmin.php' method ='POST' ><p>
<input type='submit' name='supprimer' value ='Supprimer'>
<input type='submit' name='modifier' value ='Modifier'></form>";

// en attente ....  

if ($_POST['supprimer'])
{
   if($_POST['maj[]']='checked')
		{
	$requetechange = mysql_query ("
			 	 DELETE FROM t_user where superadmin='0'");
		}	 
}

?>
Je ne sais pas comment récupérer la valeur de la checkbox ( je suis débutant en PHP ) .
Le problème est en couleur rouge ! . Merci
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h38   #5
Membre éclairé
 
Avatar de Sekigawa
 
Développeur Web
Inscription : mars 2008
Messages : 426
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 426
Points : 316
Points : 316
Yop !

De cette manière :

Code :
1
2
3
4
5
6
7
8
 
<?php
for ($i=0;$i<count($_POST['maj']);$i++)
{
$majcheck = $_POST['maj'][$i];
echo $majcheck;
}
?>
ça devrait fonctionné, tu peux aussi le faire avec un foreach

++
__________________
Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.
Sekigawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h40   #6
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Merci ... je vais tester et vous rendre la réponse !
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h49   #7
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Ça n'a pas fonctionné , comme je suis un débutant , il faut me préciser comment adapter ce code .
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h57   #8
Membre éclairé
 
Avatar de Sekigawa
 
Développeur Web
Inscription : mars 2008
Messages : 426
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 426
Points : 316
Points : 316
Dans le code que tu montres

Code :
1
2
echo "<td><center><form action ='superadmin.php' method ='POST' ><input type=checkbox name='maj[]' value='' ></center></form></td>";
Il faut que tu mettes quelque chose dans ton value sinon c'est sûr rien ne sera retourné

De plus tu mets ton "form" dans ta boucle de traitement... Il faut le mettre en dehors sinon tu répètes ton formulaire autant de fois que t'as de résultats

Code :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<head>Page du SuperAdministrateur</head>
<?php
session_start();

  if ($_SESSION['username'])

echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
   else
      die("Vous devez vous connecter !");  

echo"<h1>Interrogation table des users : Tableau </h1><p>";

require_once ('connection.php');
$sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user where superadmin='0' ";
$result = mysql_query ($sql);
$champs = mysql_num_fields($result);
$enregistrements = mysql_num_rows($result);
echo "<p>Nombre d'enregistrements : $enregistrements</p>";
echo "<form action ='superadmin.php' method ='POST' ><table border='1' cellspacing='0'>"; // Début du tableau
echo "<tr>"; // On crée une ligne
echo "<th>Selectionner</th>";
for ($i = 0;$i < $champs;$i++) {
$nomChamp = mysql_field_name($result, $i);

echo "<th>$nomChamp </th>"; }
echo "<th>Modifier</th>";
echo "<th>Supprimer</th>";
echo "</tr>\n"; // On ferme la ligne
// parcours 
while ($row = mysql_fetch_assoc($result)) {

echo "<tr>"; // On crée une ligne
echo "<td><center><input type=checkbox name='maj[]' value='".$row['fullname']."' ></center></td>";
		
//affiche ce qui a ete parcouru
foreach ($row as $key => $value) {

echo "<td> $value&nbsp;</td>"; 

}

echo "<td><img src='images/b_edit.png'></form></td>";
echo "<td><img src='images/b_drop.png'></form></td>";

echo "</tr>\n"; // On ferme la ligne

}
echo "</table>\n"; // On ferme le tableau
echo"
<input type='submit' name='supprimer' value ='Supprimer'>
<input type='submit' name='modifier' value ='Modifier'></form>";

// en attente ....  

if ($_POST['supprimer'])
{
   if($_POST['maj[]']='checked')
		{
	$requetechange = mysql_query ("
			 	 DELETE FROM t_user where superadmin='0'");
		}	 
}

?>
Testes ça

A moins qu'une erreur est apparue ?
__________________
Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.
Sekigawa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 12h17   #9
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Lorsque je coche une case pour la supprimer , comment dois-je faire ?
Code :
1
2
3
4
5
6
7
8
9
 
if ($_POST['supprimer'])
{
   if($_POST['maj[]']==$row['fullname'])
		{
	$requetechange = mysql_query ("
			 	 DELETE FROM t_user where superadmin='0'");
		}	 
}
Je mets cette portion de code en bas ! ... Ça ne marche pas ! .
La je ne sais pas comment adapter ma requête de telle manière a prendre en compte que le enregistrement de la case cochée .
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 16h26   #10
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Je n'ai pas encore trouvé de solution ! . J'attends votre aide ! .
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 18h58   #11
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
J'ai pu résolver une partie du problème mais , la case à cocher ne marche pas !
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 12h47   #12
Nouveau Membre du Club
 
Ingénieur
Inscription : janvier 2009
Messages : 79
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur

Informations forums :
Inscription : janvier 2009
Messages : 79
Points : 34
Points : 34
Envoyer un message via MSN à Eausport Envoyer un message via Yahoo à Eausport Envoyer un message via Skype™ à Eausport
Finalement , j'ai pu régler le problème !!
Eausport est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h07.


 
 
 
 
Partenaires

Hébergement Web