Sélection multiple pour suppression

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Sélection multiple pour suppression

Re: Sélection multiple pour suppression

par moogli » 21 janv. 2014, 16:30

ben va falloir t'y mettre un peu plus :mrgreen:
le but du forum étant de t'aider à y arriver mais on ne va le faire pour toi.

s'il y a des chose que tu ne comprend pas on peu t'expliquer mais il faut que tun ous indique ce que tu ne comprend pas (tableau php, comment récupérer les valeur d'un formulaire etc etc).

@+

Re: Sélection multiple pour suppression

par Yonel81 » 21 janv. 2014, 11:32

Merci pour la réponse détaillée, mais je ne comprends rien.

Je ne comprends pas le php, je ne fais que copier des codes récupérer ci et là et je les adaptes à mes besoins.
Il m'a fallut 2 mois pour réussir cette page.

Re: Sélection multiple pour suppression

par moogli » 20 janv. 2014, 15:45

salut,

ce que veux dire sirakawa c'est que :
<form class="croix" method="select"

n'est pas valide. Une méthode de formulaire c'est get ou post.

ce que tu veux faire est "assez facile" avec un seul formulaire (dans avant l'affichage de toutes tes images tu commence le formulaire et le ferme lorsqu'elle sont toues affichées).

ensuite avec la notation tableau pour le nom des checkbox et aura un tableau coté php lors de la validation du formulaire.
dans l'exemple de sirakawa
<input type = "checkbox" name ="supprimer[]" value ='∕home/popeye/biceps.png' />

donne un tableau dans $_POST['supprimer'] (pour peu que la méthode du formulaire soit post).

Du coup tu ajoute l'attribut value dans les checkbox qui aura pour valeur l'id de l'élément à supprimer.

Ensuite un simple implode sur $_POST['supprimer'] te permet, avec une requête du style delete from images where id in ( ...), de le faire en une seul fois ;)

pour ce qui est du petit bouton sélectionner tout c'est simple aussi.
en javascript tu parcourt tout les éléments qui s'appel supprimer et tu passe l'état à checkded.
un framework javascript comme jquery, extjs ou autre pourras t'aider à le faire plus facilement.

@+

Re: Sélection multiple pour suppression

par Yonel81 » 20 janv. 2014, 15:18

Merci

En fait, pas tout compris à ce que tu me raconte.
Voilà le résultat :

Image

Je souhaite cocher les images à supprimer en les sélectionnant.
J'ai la méthode pour les faire une à une, mais c'est très long.

Re: Sélection multiple pour suppression

par sirakawa » 20 janv. 2014, 13:53

Il n'existe de méthodes que get ou post:
<form class="croix" method="select" action="delete_file.php">
           <input type="checkbox" name="supprimer" id="delete" /><br />
</form>
Il faudrait stocker les noms et codes des images soit dans un select multiple, soit dans des checkboxes portant toutes le même nom:
<select name = 'images' multiple ="multipl">
<option value ='∕home/popeye/biceps.png'>Popeye</option>
<!-- etc->
</select>
soit dans des checkboxes dans un tableau:
<table>
<tr><input type = "checkbox" name ="supprimer[]"  value ='∕home/popeye/biceps.png' />
</table>

Sélection multiple pour suppression

par Yonel81 » 20 janv. 2014, 11:56

Bonjour,

Suite à mon sujet précédent :php-debutant/suppression-image-php-t269945.html#p418806, je souhaite améliorer ma page et supprimer plusieurs images en une fois.

J'aimerai pouvoir cocher les images et avoir un menu de suppression qui apparaisse (un peu comme dans la gestion des images Google+).

Pour le moment, je supprime les images 1 à 1, mais lorsque mon dossier en comprend un centaine, je galère un peu.

J'ai intégré des sélections, mais je n'arrive pas à trouver la manip pour les supprimer.
<?php

//Nom du dossier à scanner
$dossier = '.';
//scandir — Liste les fichiers et dossiers dans un dossier
$tableau = scandir($dossier);
$tableau = array_slice($tableau, 2, -6);
//Tri croissant
sort($tableau);
//On boucle
foreach($tableau as $valeur){
    if ($valeur != "." AND $valeur != ".." AND (stristr($valeur,'.gif') OR stristr($valeur,'.jpg') OR stristr($valeur,'.png') OR stristr($valeur,'.bmp')))
        {    
		
echo '<ul><a class="fancybox" rel="gallery1" href="'.$valeur.'" title="'.$valeur.'"><img class="images" src="'.$valeur.'" height=170px></a> <a href="delete_file.php?nom='.$valeur.'">

<form class="croix" method="select" action="delete_file.php">
          <input type="checkbox" name="supprimer" id="delete" /><br />
</form></a></ul>';
		
     }else{
echo '<ul><a class="fancybox" rel="gallery1" href="'.$valeur.'" title="'.$valeur.'"><img class="images" src="../img/txt.jpg" height=50px></a></ul>';

		 }
        } 		
?>
J'ai bien des sélections possible sur toutes les images, mais comment intégrer le lien vers delete_file.php
<form class="croix" method="select" action="delete_file.php">
          <input type="checkbox" name="supprimer" id="delete" /><br />
</form>