Supprimer plusieurs utilisateurs simultanément

Petit nouveau ! | 5 Messages

12 juin 2007, 11:52

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

12 juin 2007, 11:57

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5924 Messages

12 juin 2007, 13:42

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...

Invité
Invité n'ayant pas de compte PHPfrance

12 juin 2007, 15:24

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?

Petit nouveau ! | 5 Messages

12 juin 2007, 15:26

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?

ViPHP
ViPHP | 5924 Messages

12 juin 2007, 15:30

Il faut que dans tes champs name, tu mettes IDutilisateur[], il te renverra tes données sous forme de tableau.

Petit nouveau ! | 5 Messages

12 juin 2007, 15:49

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!!!)

ViPHP
ViPHP | 5924 Messages

12 juin 2007, 16:04

Tu as bien modifié ton formulaire déjà ?

Petit nouveau ! | 5 Messages

12 juin 2007, 16:07

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

...

ViPHP
ViPHP | 5924 Messages

12 juin 2007, 17:44

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.

Petit nouveau ! | 5 Messages

13 juin 2007, 08:08

ok merci beaucoup pour ton aide!!!