IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Comment traîter les cases à cocher au sein d'une boucle ?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [Tableaux] Comment traîter les cases à cocher au sein d'une boucle ?
    Hello,

    J'ai une page en PHP qui affiche plusieurs photos.
    Sous chaque photo, j'ai une case à cocher pour sélectionner celle que je souhaite supprimer.
    L'envoi du formulaire doit procéder à la suppression des photos sélectionnées.

    Malheureusement, je ne sais pas comment récuppérer le n° d'ordre des cases à cocher.

    Voilà mon code actuel, mais je m'y prends vraisemblablement mal car la variable $key me rapporte la chaîne "on" au lieu du n° d'entrée du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	foreach ($_POST["supprimer_photo"] as $key)
     
      {
          unlink(images/upload/photo-".$key.".jpg );
      }
    Merci pour votre aide.

  2. #2
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    ça dépend de value que tu met dans tes cases à cocher !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    il faut q le value de ton checkbox ait le nom de la photo sous laquelle il se trouve. et n'oublie pas de mettre un [] a coté du nom de chaq checkbox. en fait ils doivent tous avoir le meme nom.
    lors de la recupération tu fais une boucle et tu supprime

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Hummm voilà le code (php) de mes checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='checkbox' name='supprimer_photo[".$i."]'>
    $i étant bien sûr incrémenté à chaque nouvelle photo.
    Vous me parlez tous les deux de value.... mais la valeur par défaut est décochée, et seul l'utilisateur peut la faire basculer à 1 s'il cose la case non ?

  5. #5
    Membre actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 276
    Points
    276
    Par défaut
    nan c pas comme cela qu'il faut faire !!

    il faut que tu fasse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='checkbox' name='supprimer_photo[]' value="$i">
    et sur la page suivante si la case est coché la value est rajouté au tableau sinon elle n'y est pas

    admettons les value sont 1,2,3,4,5
    tu coche la 1 et la 3
    tu obtiens:

    supprimer_photo[0] -->1
    supprimer_photo[1]-->3

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Ok !! Je comprends mieux
    Par contre ce qui me chiffonne encore, c'est la manière dont je dois coder ma boucle foreach.
    Car dans le code que j'ai utilisé, je ne parviens pas ressortir $i :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       foreach ($_POST["supprimer_photo"] as $key)
     
      {
          unlink(images/upload/photo-".$key.".jpg );
      }

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    connais tu la valeur contenu dans $key?
    esai de l'affiche afin de voir son contenu.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Erreur de manip !
    Ca fonctionne correctement maintenant
    Un grand merci à vous pour m'avoir aidé aussi efficacement et aussi rapidement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/08/2011, 04h24
  2. [XL-2003] Comment compter les cases à cocher
    Par enretard dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 31/03/2011, 11h41
  3. Pb avec les cases à cocher
    Par magic8392 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/03/2005, 16h49
  4. Pb avec les cases à cocher
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/03/2005, 13h44
  5. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo