Accueil > Forum > > > > suppression enregistrements multiples
suppression enregistrements multiples
lundi 8 mars 2010 à 18:34:16 |
suppression enregistrements multiples

juvaro
|
Bonjour,
Je suis actuellement en train de créer un site web pour mon projet de premiere année et je fais face à un problème des plus récurrents d'après le nombre de demandes lues sur ce forum :D
Cependant j'ai essayé de nombreux codes mais aucun ne corresponds à mon projet (ou du moins ne fonctionne avec :s)!
C'est pourquoi je sollicite votre aide si vous en avez le temps =)
Merci d'avance.
Voici le code
Code PHP :
<?php
session_start();
// La fonction du gestionnaire d'erreurs
function mon_gestionnaire_erreur ($no_err, $mess_err, $fic_err,
$lig_err) {
if (($no_err == E_USER_ERROR) || ($no_err == E_ERROR)) {
echo "<p>Impossible d'accéeder à la ressource. Veuillez nous excusez pour le dérangement. Fin du programme.</p>";
exit;
}
}
// Configuration du gestionnaire d'erreur
set_error_handler('mon_gestionnaire_erreur');
// Stocké pour vérifier si l'utilisateur "était" connecté
$ancien_utilisateur = $_SESSION['utilisateur_ok'];
?>
<div id="content_table">
<br />
<br />
<table>
<tr>
<th> </th>
<th class="headerpty">Marque</th>
<th class="headerpty">Modèle</th>
<th class="headerpty">Version</th>
<th class="headerpty">Année</th>
<th class="headerpty">Couleur</th>
<th class="headerpty">Kilométrage</th>
<th class="headerpty">Puissance</th>
<th class="headerpty">Energie</th>
<th class="headerpty">Prix</th>
</tr>
<?php
if (!empty($ancien_utilisateur)) {
@$db = new mysqli('localhost', 'julien', 'admin', 'web');
if(mysqli_connect_errno()) {
echo "Impossible de se connecter à la base de données.";
exit;
}
$ma_requete = " SELECT * from occasion ";
$resultat = $db->query($ma_requete);
$nb_lig_resultat = $resultat->num_rows; ?>
<form name="form1" method="post" action="">
<?php for($i =0; $i < $nb_lig_resultat; $i++) {
$ligne = $resultat->fetch_assoc(); ?>
<tr bgcolor="#DCDCDC" onmouseover="bgColor='lightyellow';" onmouseout="bgColor='#DCDCDC'">
<td></td>
<td class=\"cellpty\">
<?php echo stripslashes($ligne['marque_occas']) . '</td>'; ?>
<td class="cellpty">
<?php echo stripslashes($ligne['modele_occas']) . '</td>';?>
<td class="cellpty"> <a href="" />
<?php echo stripslashes($ligne['version_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['annee_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['color_ext_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['km_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['energie_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['puissance_occas']) . '</td>';?>
<td class="cellpty"><strong>
<?php echo stripslashes($ligne['prix_occas']) . '</strong></td>';?>
<td> <input name="supprimer[]" type="checkbox" id="supprimer[]" value="<?php echo $ligne['id_occas']; ?>"></td> </td>
</tr>
<?php $ligne = $resultat->fetch_assoc(); ?>
<tr bgcolor="#F5F5F5" onmouseover="bgColor=\'lightyellow\';" onmouseout="bgColor=\'#F5F5F5\'">
<td></td>
<td class=\"cellpty\">
<?php echo stripslashes($ligne['marque_occas']) . '</td>'; ?>
<td class="cellpty">
<?php echo stripslashes($ligne['modele_occas']) . '</td>';?>
<td class="cellpty"> <a href="" />
<?php echo stripslashes($ligne['version_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['annee_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['color_ext_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['km_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['energie_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['puissance_occas']) . '</td>';?>
<td class="cellpty"><strong>
<?php echo stripslashes($ligne['prix_occas']) . '</strong></td>';?>
<td> <input name="supprimer[]" type="checkbox" id="supprimer[]" value="<?php echo $ligne['id_occas']; ?>"></td>
</tr>
<?php }
?>
</table>
<input type="submit" name="Submit" value="supprimer">
</form>
<?php
if (!empty($_POST['supprimer'])) {
foreach ($_POST['supprimer'] as $cle) {
$Requete = "DELETE FROM `occasion` WHERE `id_occas`='$cle'";
$resRequete = mysql_query($Requete, 'localhost', 'julien', 'admin', 'web') or die(mysql_error());
}
}
$resultat->free();
$db->close(); ?>
j'utilise un systeme de vérification de session de façon à ce que l'admin soit le seul à voir les checkbox et le bouton supprimer.
Déjà j'ai 2 checkbox qui apparaissent en trop sans aucune données devant, puis le bouton supprimer n'a aucun effet :s
Pourriez vous m'expliquer?
Merci
|
|
mercredi 10 mars 2010 à 20:48:56 |
Re : suppression enregistrements multiples

shadow1779
|
pour tes input, met un indice dans ton supprimer,
genre name="supprimer[<?php echo $ligne['id']; ?>]" et dans ton foreach fais un truc du style:
foreach($_POST['supprimer'] as $k=>$i){
if($i == "on"){ echo "mon champs checké est : ".$k; }
}
|
|
jeudi 11 mars 2010 à 09:16:49 |
Re : suppression enregistrements multiples

juvaro
|
salut,
merci pour ta réponse! effectivement je n'avais pas pensé à indexer les checkbox ><
seulement le code du bouton supprimer ne fonctionne toujours pas :s J'ai essayé mais rien ne s'affiche.
j'arrive cependant à obtenir quelque chose si je fais :
foreach($_POST['supprimer'] as $k ) {
echo "mon champs checké est : ".$k;
}
Je remets mon code car il a légèrement évolué :
Code PHP : <?php
if (!empty($ancien_utilisateur)) {
@$db = new mysqli('localhost', 'julien', 'admin', 'web');
if(mysqli_connect_errno()) {
echo "Impossible de se connecter à la base de données.";
exit;
}
if (isset($_POST['supprimer'])) // test si on a cliquer sur un bouton
{
$idbouton = $_POST['supprimer'];
$sup= " DELETE FROM occasion WHERE id_occas='$idbouton'";
$supp = $db->query($sup);
}
$ma_requete = " SELECT * from occasion ";
$resultat = $db->query($ma_requete);
$nb_lig_resultat = $resultat->num_rows; ?>
<form name="form1" method="post" action="">
<?php
$j = 0;
for($i =0; $i < $nb_lig_resultat; $i++) {
$ligne = $resultat->fetch_assoc(); ?>
<tr
<?php
if($j % 2 == 0)
{
echo 'bgcolor="#DCDCDC"';
echo 'onmouseover="bgColor=\'lightyellow\';"';
echo 'onmouseout="bgColor=\'#DCDCDC\'" >'; }
else {
echo 'bgcolor="#F0F0F0"';
echo 'onmouseover="bgColor=\'lightyellow\';"';
echo 'onmouseout="bgColor=\'#F0F0F0\'" >'; }
?>
<td></td>
<td class="cellpty">
<?php echo stripslashes($ligne['marque_occas']) . '</td>'; ?>
<td class="cellpty">
<?php echo stripslashes($ligne['modele_occas']) . '</td>';?>
<td class="cellpty"><a href="" />
<?php echo stripslashes($ligne['version_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['annee_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['color_ext_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['km_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['energie_occas']) . '</td>';?>
<td class="cellpty">
<?php echo stripslashes($ligne['puissance_occas']) . '</td>';?>
<td class="cellpty"><strong>
<?php echo stripslashes($ligne['prix_occas']) . '</strong></td>';?>
<td> <input name="supprimer[<?php echo stripslashes($ligne['id_occas']); ?>]" type="checkbox" id="supprimer[]" value="<?php echo $ligne['id_occas']; ?>"></td> </td>
</tr>
<?php $j++ ?>
<?php }
?>
</table>
<input type="submit" name="Submit" value="supprimer">
</form>
<?php
foreach($_POST['supprimer'] as $k=>$i){
if($i == "on"){
echo "mon champs checké est : ".$k;
}
}
if (!empty($_POST['supprimer'])) {
foreach ($_POST['supprimer'] as $cle) {
$Requete = "DELETE FROM `occasion` WHERE `id_occas`='$cle'";
$resRequete = mysql_query($Requete, 'localhost', 'julien', 'admin', 'web') or die(mysql_error());
}
}
$resultat->free();
$db->close(); ?>
<?php } else { ?>
merci
|
|
mardi 23 mars 2010 à 16:05:40 |
Re : suppression enregistrements multiples

juvaro
|
bonjour, ayant résolu mon problème je tenais à informer ceux qui auraient le même ^^ voila le code final :
Code PHP : <?php
if (!empty($ancien_utilisateur)) {
@$db = new mysqli('localhost', 'julien', 'admin', 'web');
if(mysqli_connect_errno()) {
echo "Impossible de se connecter à la base de données.";
exit;
}
if (isset($_POST['supprimer'])) // test si on a cliquer sur un bouton
{
$ids = implode(",",$_POST["supprimer"]);
$sup= "DELETE FROM `web`.`occasion` WHERE `occasion`.`id_occas` IN ($ids)";
$supp = $db->query($sup);
}
$ma_requete = " SELECT * from occasion ";
$resultat = $db->query($ma_requete);
$nb_lig_resultat = $resultat->num_rows; ?>
<form name="form1" method="post" action="afficher.php">
<?php
$j = 0;
for($i =0; $i < $nb_lig_resultat; $i++) {
$ligne = $resultat->fetch_assoc(); ?>
<tr<?php
if($j % 2 == 0)
{
echo ' bgcolor="#DCDCDC"';
echo ' onmouseover="bgColor=\'lightyellow\';"';
echo ' onmouseout="bgColor=\'#DCDCDC\'"'; }
else {
echo ' bgcolor="#F0F0F0"';
echo ' onmouseover="bgColor=\'lightyellow\';"';
echo ' onmouseout="bgColor=\'#F0F0F0\'"'; }
?>>
<td><img src="<?php if($ligne['img1_occas']==""){echo "photos/NON_DISPONIBLE.jpg";}else{echo $ligne['img1_occas'];} ?>" alt="<?php echo stripslashes($ligne['modele_occas'] . $ligne['version_occas']);?>"/></td>
<td class="cellpty"><?php echo stripslashes($ligne['marque_occas']); ?> </td>
<td class="cellpty"><?php echo stripslashes($ligne['modele_occas']);?></td>
<td class="cellpty"><a href="details.php?id=<?php echo stripslashes($ligne['id_occas']); ?>" /><?php echo stripslashes($ligne['version_occas']);?></td>
<td class="cellpty"><?php echo stripslashes($ligne['annee_occas']);?></td>
<td class="cellpty"><?php echo stripslashes($ligne['color_ext_occas']);?></td>
<td class="cellpty"><?php echo stripslashes($ligne['km_occas']);?></td>
<td class="cellpty"><?php echo stripslashes($ligne['energie_occas']);?></td>
<td class="cellpty"><?php echo stripslashes($ligne['puissance_occas']);?></td>
<td class="cellpty"><strong><?php echo stripslashes($ligne['prix_occas']);?></strong></td>
<td> <input name="supprimer[]" type="checkbox" value="<?php echo $ligne['id_occas']; ?>"></td>
</tr>
<?php $j++ ?>
<?php }
?>
</table>
<input type="submit" name="Submit" value="supprimer">
</form>
<?php
$resultat->free();
$db->close(); ?>
|
|
Cette discussion est classée dans : code, utilisateur, enregistrements, suppression, multiples
Répondre à ce message
Sujets en rapport avec ce message
suppression massive [ par kinooo ]
bonjour je vousdrais savoir comment faire pour supprimmer plusieur utilisateur en mem temps d'une bdd.j'affiche tous les utilisateurs dans un formulai
Erreur lors de l'utilisation de sessions [ par auremy ]
Bonjour,Je fais un site avec une partie réservé aux membres, ce qui nécessite donc une identification. Ayant regardé les messages à ce sujet, je n'ai
Problème avec les sessions [ par auremy ]
Bonjour,J'aimerais créer un espace réservé, protégé par login et mot de passe. Pour ceci, j'utilise un formulaire permetant d'entrer ses données et qu
limiter un nombre d'enregistrements /page [ par attentio ]
salut a tous j'aimerais savoir comment faire pour limiter le nbr d' enregistrements a 50 par page avec des boutons de type [page1]|[page2]|[page3]|[pa
Code suppression sur clique [ par lycol ]
Bonjour à toutes et à tous!Voila je désirerais connaitre une fonction qui permer de supprimer un certain nobre de points à un membre quand celu
Suppression de dossier foireuse :s [ par hyipicai ]
bonjour a toutes et tous, voila j'ai un souci en phpj'ai un explorateur de dossier qui me permet de creer des dossiers [code]umask(0777);if (!(mkdir($
boite de dialogue?? [ par zsafae ]
bonjour,voila,j'ai fais un script qui permet à l utilisateur de supprimer des enregistrements de la base de données,seulement je voudrais avant la su
Suppression de cookies [ par MF91emule ]
Bonjour a tous !Voila j'expose mon problème :Je voudrai créer un code en PHP afin de supprimer des cookies spesifique ..Je suis sur Site1 => code PHP
NULL [ par rduvrac ]
Salut j'ai ce code : [code]... $query_RSutilisateurs = "SELECT * FROM matable WHERE niveau = 'Utilisateur' OR niveau = 'Administrateur' OR niveau = '
probleme erreur code - connection utilisateur à son compte LOGIN - PHP ODBC [ par ju0123456789 ]
Bonjour, j'ai un problème dans un de mes scripts. IE me signale un probleme au niveau de la ligne que j'ai mis en gras. Normalement ce script est cens
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|