Page 1 sur 1

Supprimer plusieurs utilisateurs simultanément

Posté : 12 juin 2007, 11:52
par Menoly
Voila j'ai un problème... J'ai une page qui contient une liste d'utilisateurs, et je souhaite pouvoir supprimer plusieurs utilisateur d'un coup (je n'arrive à en supprimer q'un seul à la fois)....

voici mon code:
<? include("../include/headerlog.php"); ?>
<script LANGUAGE="JavaScript">
<!--
function Submit() {
  document.tableau.action = "administrateur.php";
	return true;
}

// -->
</SCRIPT>
<?
session_start(); 

$_SESSION['IDutilisateur'];

$IDutilisateur = $_SESSION['IDutilisateur'];

if ($_SESSION['IDutilisateur'] == "")
{
	header("Location:../general/accueil.php");
}


if(!empty($_GET['IDutilisateursup']))
{
		$IDutilisateursup= $_GET['IDutilisateursup']; 
		$DB->query("DELETE FROM utilisateurs WHERE IDutilisateur='$IDutilisateursup'");
		$DB->fetch_object();	
}

$DB->query("SELECT IDutilisateur, Fonction, Pseudo, Mdp, Nom FROM utilisateurs");

?>

Bienvenue dans la page administration! <br />
     </td>
     <td class='boxright'></td></tr><tr>
     <td class='boxbottomleft'></td>
     <td class='boxbottom' colspan='3'></td>
     <td class='boxbottomright'></td>
   </tr>
 </table>
     </td>
   </tr>
 </table>
 <table summary='box_center' cellspacing='0' cellpadding='0' width='100%' border='0'>
	<tr>
		<td width="12" height="51" class='boxtopleft'>&nbsp;&nbsp;&nbsp;&nbsp;<!- Specially for IE -></td>
		<td class='boxtitle'>&nbsp;</td>
		<td width="12" class='boxtopright'>&nbsp;&nbsp;&nbsp;&nbsp;<!- Specially for IE -></td>
	</tr>
	<tr>
		<td class='boxleft'></td>
		<td class='tbl' align="right"><form name="tableau" action="administrateur.php" method="get">
			 <table width="100%" border="1" bordercolor="#000000">
				   <tr bgcolor="#FFFF99">
				     <td width="10%">Supprimer</td>
					 <td width="32%"><font class="main">Nom</font></td>
					 <td width="23%" valign="top" class="TableTopLabel" ><font class="main">Fonction</font></td>
					 <td width="20%" valign="top" class="TableTopLabel" ><font class="main">Pseudo</font></td>
					 <td width="15%" valign="top" class="TableTopLabel" ><font class="main">Mdp</font></td>
				   </tr>
				   <? 
					$i=0;
					while($DB->fetch_object())
					{
				   ?>
				   <tr class="printtable">
				     <td valign="top">[color=red]<input type="checkbox" name="IDutilisateursup" value="<? echo $DB->o(IDutilisateur); ?>" />[/color]</td>
					<td valign="top"><a href="utilisateur.php?IDutilisateur=<? echo $DB->o(IDutilisateur); ?>"><? echo $DB->o(Nom); ?></a></td>
				       <td valign="top" ><font class="main"><? echo $DB->o(Fonction); ?></font></td>
				       <td valign="top" ><font class="main"><? echo $DB->o(Pseudo); ?></font></td>
				       <td valign="top"><font class="main"><? echo $DB->o(Mdp); ?></font></td>
		       </tr>	   <? }; ?>
				 </table>
			 <a href="utilisateur.php"><input type="button" name="idajouter" value="ajouter" /></a>
			<input type="button" name="idsupprimer" value="supprimer" onclick="submit();" />
		</form>
	  </td>
		<td class='boxright'></td>
	</tr>
	<tr>
		<td rowspan="2" height="2" class='boxbottomleft2'></td>
		<td height="15"></td>
		<td rowspan="2" class="boxbottomright2">&nbsp;</td>
	</tr>
	<tr>
		<td height="29" class='boxbottom2'></td>
	</tr>
</table>

</body>
</html>
Voila.... Merci de m'aider

Posté : 12 juin 2007, 11:57
par zeus
Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Merci de prendre le temps de lire les règlements.

Posté : 12 juin 2007, 13:42
par Sékiltoyai
Si c'est la requète qui te gènes, pour faire une suppression multiple, tu peux faire ça :

Code : Tout sélectionner

DELETE FROM utilisateurs WHERE IDutilisateur IN ($id1, $id2, $id3,...);
Si le problème est au niveau du formulaire, il va falloir préciser où est ce que tu bloques...

Posté : 12 juin 2007, 15:24
par Invité
non c'est que je ne sais pas comment récupérer les différents utilisateur cocher... comment les différencier...) car j'obtient ceci dans ma barre de navigation:

solaire/admin/administrateur.php?IDutilisateursup=46&IDutilisateursup=48

comment récupérer les données séparéments?

Posté : 12 juin 2007, 15:26
par Menoly
Si c'est la requète qui te gènes, pour faire une suppression multiple, tu peux faire ça :

Code : Tout sélectionner

DELETE FROM utilisateurs WHERE IDutilisateur IN ($id1, $id2, $id3,...);
Si le problème est au niveau du formulaire, il va falloir préciser où est ce que tu bloques...

non c'est que je ne sais pas comment récupérer les différents utilisateur cocher... comment les différencier...) car j'obtient ceci dans ma barre de navigation:

solaire/admin/administrateur.php?IDutilisateursup=46&IDutilisateursup=48

comment récupérer les données séparéments?

Posté : 12 juin 2007, 15:30
par Sékiltoyai
Il faut que dans tes champs name, tu mettes IDutilisateur[], il te renverra tes données sous forme de tableau.

Posté : 12 juin 2007, 15:49
par Menoly
euh je vais faire mon boulet mais sa j'ai essayé c'est la requête pour les récupérées que je sais pas faire...

moi j'ai sa pour l'instand :
if(!empty($_GET['IDutilisateur[]']))
{
		$IDutilisateur[]= $_GET['IDutilisateur[]']; 
		$DB->query("DELETE FROM utilisateurs WHERE IDutilisateur='$IDutilisateur[]'");
		$DB->fetch_object();	
}
et sa marche pas... lol (je suppose que c'est normal!!!)

Posté : 12 juin 2007, 16:04
par Sékiltoyai
Tu as bien modifié ton formulaire déjà ?

Posté : 12 juin 2007, 16:07
par Menoly
je crois... sa donne ceci :
<form name="tableau" action="administrateur.php" method="get">
			 <table width="100%" border="1" bordercolor="#000000">
				   <tr bgcolor="#FFFF99">
				     <td width="10%">Supprimer</td>
					 <td width="32%"><font class="main">Nom</font></td>
					 <td width="23%" valign="top" class="TableTopLabel" ><font class="main">Fonction</font></td>
					 <td width="20%" valign="top" class="TableTopLabel" ><font class="main">Pseudo</font></td>
					 <td width="15%" valign="top" class="TableTopLabel" ><font class="main">Mdp</font></td>
				   </tr>
				   <? 
					$i=0;
					while($DB->fetch_object())
					{
				   ?>
				   <tr class="printtable">
				     <td valign="top"><input type="checkbox" name="IDutilisateur[]" value="<? echo $DB->o(IDutilisateur); ?>" /></td>
					<td valign="top"><a href="utilisateur.php?IDutilisateur=<? echo $DB->o(IDutilisateur); ?>"><? echo $DB->o(Nom); ?></a></td>
				       <td valign="top" ><font class="main"><? echo $DB->o(Fonction); ?></font></td>
				       <td valign="top" ><font class="main"><? echo $DB->o(Pseudo); ?></font></td>
				       <td valign="top"><font class="main"><? echo $DB->o(Mdp); ?></font></td>
		       </tr>	   <? }; ?>
				 </table>
			 <a href="utilisateur.php"><input type="button" name="idajouter" value="ajouter" /></a>
			 <input type="button" name="idsupprimer" value="supprimer" onclick="submit();" />
		</form>
et dans ma barre de navigation :

solaire/admin/administrateur.php?IDutilisateur%5B%5D=50&IDutilisateur%5B%5D=51

...

Posté : 12 juin 2007, 17:44
par Sékiltoyai
Ok, hé bien tu as un tableau $_GET['IDutilisateur'] dans lequel tu as toutes les id sélectionnées. Fait un var_dump($_GET['IDutilisateur']), tu vas voir comment ca s'organise.

Posté : 13 juin 2007, 08:08
par Menoly
ok merci beaucoup pour ton aide!!!