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

PHP & Base de données Discussion :

Suppression multiple via checkbox + POO/MVC


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 44
    Par défaut Suppression multiple via checkbox + POO/MVC
    Bonjour,

    J'ai créé un formulaire pour supprimer plusieurs éléments de ma liste mais lorsque je clique sur le bouton 'supprimer', il ne se passe rien comme si le tableau d'id que je récupère était vide!

    Modèle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function supprimerNews($idNews) {
            $array = implode("','", $idNews);
            $sql = "DELETE
                    FROM news 
                    WHERE id_news IN('.$array.')";
            $res = $this->executerRequete($sql);
        }

    Contrôleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function supprimerNews() {
            $idNews = $this->requete->getParametre("idNews");
     
            $this->news->supprimerNews($idNews);
     
            $this->executerAction("menuGestionNews");
        }

    Vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <form method="post" action="eaproduits/supprimerNews">                                 
                            <div class="form-group">
                                <ul class="supprimerNews">
                                    <?php foreach ($newsAdmin_supprimer as $row) { 
                                        $idNews = $this->nettoyer($row['id']);
                                        $libelleNews = $this->nettoyer($row['titre']);
                                        $dateValiditeNews = $this->nettoyer($row['date_validite']);
                                    ?>
                                    <li>
                                        <input type="checkbox" name="idNews[]" value="<?= $idNews ?>">
                                        &nbsp;
                                        <?= $libelleNews . "-" . $idNews ?>      
                                    </li>
                                    <?php } ?>
                                </ul>
                            </div>
     
                            <div class="form-button">
                                <button type="submit" class="btn btn-dark"><span class="glyphicon glyphicon-off"></span> Supprimer</button>
                            </div>
                        </form>

    Donc je récupère un tableau idNews[] via les checkbox mais j'ai l'impression qu'il est vide ...
    Quelqu'un peut-il m'aider?

    Merci,

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La 1ere chose à faire est de vérifier ce que tu as réellement récupéré. Un petit var_dump($idNews); juste avant l'instruction implode devrait faire l'affaire.
    Si il n'y a effectivement rien, intéresse-toi à la méthode getParametre de l'instruction $this->requete->getParametre('idNews');. Que fait-elle exactement ?

    Au passage, tu utilises un framework ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 44
    Par défaut
    Merci d'avoir répondu aussi rapidement,

    J'avais déjà vérifié ma variable $idNews et le tableau se remplit bien!
    Pour moi, le problème vient du implode() ...

    ca fait 2heures que je suis dessus et je ne comprends pas !!???

    PS: J'utilise une base Oracle

    C'est un Framework fait maison en recodant le routeur, le controleur, le modele, la vue, la session, ...
    C'est beaucoup plus simple et fonctionnel qu'un plus gros Framework comme Symfony je trouve!

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 44
    Par défaut
    J'ai trouvé !!!!!

    Il fallait mettre entre le IN et la parenthèse !!!

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Là :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "DELETE
                    FROM news 
                    WHERE id_news IN('.$array.')";
    Soit tu coupes ta chaine et tu concaténes les morceaux, soit ut utilises l'interprétation de variable dans la chaine, mais pas les deux en même temps
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 44
    Par défaut
    Oui c'est vrai ... j'avais même pas fais gaffe! Fin de journée difficile!

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

Discussions similaires

  1. Suppression de tables via Checkbox.
    Par dayou05 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 06/03/2015, 12h27
  2. Checkbox et suppression multiples
    Par Jeremy60500 dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2013, 09h36
  3. [JSP/servlet] Séléctions multiples via des checkbox
    Par coshibe dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/02/2012, 14h26
  4. Suppression Multiple avec CheckBox
    Par Iverstan dans le forum Grails
    Réponses: 9
    Dernier message: 20/08/2010, 20h47
  5. Suppression d’objets via une programmation
    Par Culture dans le forum Access
    Réponses: 1
    Dernier message: 15/11/2005, 18h41

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