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 avec MAJ et suppression


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Points : 34
    Points
    34
    Par défaut Tableaux avec MAJ et suppression
    Bonjour à tous,

    J'effectue un SELECT (implémenté dans la DAL) sur ma base de données et je forme un tableau avec les résultats.
    Je souhaiterais ajouter 2 petites icônes (ou simple bouton) à côté de chaque ligne qui entraineraient :
    - la modification de la ligne du tableau : affichage d'un formulaire pré-rempli avec les valeurs de la ligne où j'apellerai ensuite ma fonction update de la couche DAL.
    - la suppression de la ligne du tableau : suppression directe de la BD.

    Je n'ai cependant aucune idée du moyen d'y parvenir.

    Si quelqu'un avait un exemple ou des idées cela m'aiderait grandement .

    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Rajoute un onclick sur tes images:

    pour la suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="window.location.href='page.php?Supprimer=<?php echo $Id; ?>'"
    pour la modification:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="afficherformulaire()"
    Sachant que la fonction afficherformulaire va modifier la propriété display du formulaire et du tableaux pour cacher la tr d'affichage et afficher la tr de modification

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Je n'ai pas bien compris comment va agir le OnClick :

    J'ai commencé à modifier mon SELECT (dans la couche DAL) pour afficher un lien vers la suppression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="IHM/supprimer.php?n=' . $data['NUM_OPERATION'] . '">supprimer</a></td>
    Je récupère la valeur de ma clé primaire dans un autre script "supprimer.php"

    Dans supprimer.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    include'Monprojet\Autoloader.php';
     
    //Numero de l'opération à supprimer qui est donnée par la DAL
    $numop = $_GET['n'];
    //On instancie un BAL
    $oBAL = new OperationBAL();
    //On envoie le traitement à la couche inférieure BAL
    $oBAL->Delete($numop);
    //Message d'information pour l'ajout dans la BD
    echo '<h3>Votre Opération a été supprimée de la base de donnée.</h3>';
    //On envoie le traitement du select à la couche inférieure
    $oBAL->Selection();
    ?>
    Mon autoload n'est pas chargé apparamment car il est chargé dans le fichier qui contient mon tableau, et qui utilise le fichier supprimer.php

    J'ai essayé en faisant des include des classes appelées et cela marche.
    Je voudrais également que le traitement de ce script ne fasse que recharger le tableau sur ma page actuelle et qu'il n'ouvre pas une autre page ...

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    rajoute un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: tapage.php");
    à la fin de ton script pout rediriger vers la page de ton tableau

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    supprimer.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    //include'C:\wamp\www\Monprojet\Autoloader.php';
    include'C:\wamp\www\Monprojet\Persistance\DAL\OperationDAL.php';
    include'C:\wamp\www\Monprojet\Persistance\BAL\OperationBAL.php';
    //Numero de l'opération à supprimer qui est donnée par la DAL
    $numop = $_GET['n'];
    //On instancie un BAL
    $oBAL = new OperationBAL();
    //On envoie le traitement à la couche inférieure BAL
    $oBAL->Delete($numop);
    //Redirection
    header("Location: AfficherOperation.php");
    ?>
    AfficherOperation.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        <body>
            <?php
            include'C:\wamp\www\Monprojet\Autoloader.php';
            ?>
            <h1>Opérations</h1>
            <br/>
            <br/>
            <?php
            //On instancie un BAL
            $oBAL = new OperationBAL();
            //On envoie le traitement du select à la couche inférieure
            $oBAL->Selection();
            ?>
        </body>
    SELECT de la couche DAL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><a href="IHM/supprimer.php?n=' . $data['NUM_OPERATION'] . '">supprimer</a></td>
    Mon souci :
    Je lance l'affichage, j'obtiens mon joli petit tableau, je clique sur supprimer, j'obtiens, je suis redirigé sur la même page mais le CSS n'est plus activé et j'ai l'erreur suivante :
    Fatal error: Class 'OperationBAL' not found in C:\wamp\www\Monprojet\IHM\AfficherOperation.php on line 21.

    Néamoins la ligne a bien été supprimée de la BD ...

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    C'est marrant que tu aies pas implémenté l'autoloader comme on te l'avait conséillé dans l'autre thread que tu avais ouvert à ce sujet

  7. #7
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Ah un adepte du double sujet?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Au niveau de l'implémentation de __autoload(), je n'ai effectivement pas pu mettre en oeuvre vos conseils car je n'ai tout simplement pas compris le code (et pas eu trop de temps pour approfondir ceci), et donc pas pu effectuer les tests pour constater effectivement que les file_exists() étaient très couteux en cycle CPU.

    Je re-posterai dans le topic concernant l'autoload si vous pouvez m'apporter quelques précisions.

    Au niveau du problème que je rencontre, est-ce à cause de ma fonction autoload ? Je ne comprends pas comment son implémentation (pas optimisée mais fonctionnelle ?) entraine cette erreur.

    Merci d'avance pour vos réponses.

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Fatal error: Class 'OperationBAL' not found in C:\wamp\www\Monprojet\IHM\AfficherOperation.php on line 21.
    Cette erreur est une incidence de l'absence d'autoloader. Relis le thread que tu avais ouvert, j'y avais posté la réponse appropriée il me semble.

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

Discussions similaires

  1. tableaux dynamique avec ajout et suppression de lignes
    Par paolo2002 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/06/2008, 17h01
  2. Réponses: 5
    Dernier message: 25/12/2005, 15h17
  3. création de tableaux avec Array() et élément 'fantome'
    Par Talieth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2005, 09h49
  4. Créer composant avec TQuery->pb suppression a la concepti
    Par marghett dans le forum Bases de données
    Réponses: 12
    Dernier message: 24/07/2004, 07h42
  5. Réponses: 6
    Dernier message: 04/04/2003, 15h28

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