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 :

[Conception] Formulaires identiques pour INSERT et UPDATE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Par défaut [Conception] Formulaires identiques pour INSERT et UPDATE
    Bonjour,

    Désolé si le titre n'est pas très clair, je ne savais pas trop comment le formuler.

    Mon problème est certainement un classique dans le développement, et j'espère que vous pourrez m'aiguiller : j'ai un site avec une grande base de données et je dois développer un panneau d'administration très complet. Il doit être possible d'insérer, de mettre à jour et de supprimer de nombreuses choses, donc j'aimerais créer des formulaires qui pourront être utilisés pour l'insertion et la mise à jour de mes données.

    Concrètement : j'aimerais pouvoir créer un formulaire pour insérer un client par exemple. Puis j'aimerais qu'en ouvrant ce formulaire en mode "update", les données du client voulu soient chargées pour être modifiées. Mon but est d'éviter de devoir faire des IF partout dans mes formulaires, mais plutôt d'automatiser un peu tout ça.

    Y a-t-il des métodologies existantes à ce sujet ?

    J'espère que vous saisissez mon problème. N'hésitez pas à me demander plus d'explications au cas où.

  2. #2
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Moi au début du script je controle la varible envoyée par get, ou post, ou n'importe comment. Si tu as "update", tu agis en conséquence:

    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
    <?php
    if (isset($_GET['mode']) && $_GET['mode'] == 'update') {
       #
       # Récupération des données
       #
       $pseudo = $result['pseudo'];
       # etc...
    }
    elseif (isset($_GET['mode']) && $_GET['mode'] == 'add') {
       $pseudo = '';
       # etc...
    }
    ?>
     
    <!-- Formulaire -->
    <input type="text" name="pseudo" value="<? echo $pseudo; ?>">

  3. #3
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Tu peux spécifier un paramètre à ta page mapage.php?action=insert (ou update), eventuellement un autre paramètre pour la modification, l'id du client.

    Dans ce cas, tu testes la valeur de $_GET['action'] en début de page
    * Si c'est une insertion, tu ne fais rien
    * Si c'est un modification, tu fait la requete pour rechercher les informations du client, et remplis le formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="monchamp" value="<? echo $champ; ?>" />

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Par défaut
    Ah oui, j'aime bien ton idée de modifier simplement la "value" affichée dans chaque champ de ton formulaire, ça permet de ne pas avoir de "if" dans le code HTML. Et c'est finalement assez simple à mettre en place. Merci pour l'idée.

  5. #5
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut Ensuite ?
    Et après ? Comment déterminer si le clic du bouton "valider" (submit) envoie vers la fonction effectuant l'INSERT ou celle réalisant l'UPDATE ?

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par Original Prankster
    Et après ? Comment déterminer si le clic du bouton "valider" (submit) envoie vers la fonction effectuant l'INSERT ou celle réalisant l'UPDATE ?
    C'est ce que fait le code d'Anduriel.

    Détérrage powaaaaaaaa

  7. #7
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Non, le code d'Anduriel se contente de remplir le formulaire en fonction du fait qu'on VEUILLE réaliser une opération d'insertion ou de modification.

    Moi je cherche à déterminer, une fois que l'utilisateur a rempli le formulaire et qu'il veut valider les données saisies en BD, quelle sera l'action du bouton de validation du formulaire : appel de la fonction insert(), ou appel de la fonction update(), qui se chargent respectivement de créer les requêtes d'insertion ou de mise à jour.

  8. #8
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_GET['mode']) && $_GET['mode'] == 'update')
    Avec ça il teste si le bouton appuyé est 'update'. Le bouton a pour NAME mode et pour VALUE update. Et l'autre bouton a pour NAME mode et pour VALUE delete.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2012, 12h03
  2. [Conception] Créer un formulaire PHP pour BD Mysql
    Par Séb-XL dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/10/2007, 10h54
  3. Réponses: 2
    Dernier message: 28/04/2007, 15h31
  4. insert ou update pour raffraichir les données
    Par laurent.w dans le forum Access
    Réponses: 4
    Dernier message: 23/01/2007, 09h45
  5. [Conception] Question PHP pour formulaire
    Par julien8craft dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 31/07/2006, 18h00

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