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 :

Insérer plusieurs formulaires dans une seule page


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut Insérer plusieurs formulaires dans une seule page
    Voila, j'ai creer une base de données contenant plusieurs tables.
    Pour chaque table j'utilise un formulaire pour inserer des données.
    je veux les mettre dans une seule page comme doit je faire sans que je perd la page d'index apres clique sur bouton ajouter de chaque formulaire????????

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    je n'ai pas tres bien compris ta question (en reformulant autrement peut etre)

    sinon, pour 'actualiser' une partie de page, il faudra que tu te tournes vers le javascript.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    j'ai 4 tables dans ma base de données
    j'ai creer un formulaire pour chaque table pour saisir les données
    je les ai met dans une seule page,
    quand je saisie dans une partie du formulaire qui concerne une table j'ai un pbm (la page principale ne se regenere pas)
    et en plus des parties du formulaire se cache

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    ah ok, donc j'avais en effet mal compris ta question...
    un bout de code pour nous aider peut-etre ? =)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut voila le code et ça marche
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    <?php
    include("connection.php");
    ?>
     
    <html>
    <head><title>Formulaire de saisie  </title></head>
    <body>
     
    <h2>Veuillez saisir les données de la méthode :</h2>
    <form name="Methode" method="post" action="formulaireprincipale.php">
    <fieldset>
    Entrez l'identificateur de la méthode : <input type="text" name="idmethode"/> <br/>
    Entrez le nom de la méthode : <input type="text" name="nom"/> <br/>
    Entrez la description de la methode : <input type="text" name="description"/><br/>
    Entrez le lien vers la methode : <input type="text" name="lien"/><br/>
    <input type="submit" name="valider" value="Ajouter"/>
     
    <?php
    if (isset ($_POST['valider'])){
    //On récupère les valeurs entrées par l'utilisateur :
    $idmethode=$_POST['idmethode'];
    $nom=$_POST['nom'];
    $description=$_POST['description'];
    $lien=$_POST['lien'];
    //On se connecte
    connectMaBase();
    //On prépare la commande sql d'insertion
    $sql = 'INSERT INTO methode VALUES("'.$idmethode.'","'.$nom.'","'.$description.'","'.$lien.'")';
    /*on lance la commande (mysql_query) et au cas où,
    on rédige un petit message d'erreur si la requête ne passe pas (or die)
    (Message qui intègrera les causes d'erreur sql)*/
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion
    mysql_close();
    }
    ?>
    </fieldset>
    </form>
     
    <h2>Veuillez saisir la bibliographie de la méthode :</h2>
    <form name="Methode" method="post" action="formulaireprincipale.php">
    <fieldset>
    Entrez l'identifiant de la bibliographie : <input type="text" name="idbibliographie"/> <br/>
    Entrez le nom de l'auteur  :  
    <input type="text" name="auteur"/> <br/>
    Entrez l'année de la création de la méthode : <input type="text" name="annee"/><br/>
    Entrez la description de la bibliographie : <input type="text" name="description"/><br/>
    Entrez le lien vers la bibliographie : <input type="text" name="lien"/><br/>
    <input type="submit" name="valider1" value="Ajouter"/>
     
    <?php
    if (isset ($_POST['valider1'])){
    //On récupère les valeurs entrées par l'utilisateur :
    $idbibliographie=$_POST['idbibliographie'];
    $auteur=$_POST['auteur'];
    $annee=$_POST['annee'];
    $description=$_POST['description'];
    $lien=$_POST['lien'];
    //On se connecte
    connectMaBase();
    //On prépare la commande sql d'insertion
    $sql = 'INSERT INTO bibliographie VALUES("'.$idbibliographie.'","'.$auteur.'","'.$annee.'","'.$description.'","'.$lien.'")';
    /*on lance la commande (mysql_query) et au cas où,
    on rédige un petit message d'erreur si la requête ne passe pas (or die)
    (Message qui intègrera les causes d'erreur sql)*/
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion
    mysql_close();
    }
    ?>
    </fieldset>
    </form>
     
    <h2>Veuillez la categorie de la méthode :</h2>
    <form name="Methode" method="post" action="formulaireprincipale.php">
    <fieldset>
    Entrez l'identificateur de la catégorie de la méthode : <input type="text" name="idcategorie"/> <br/>
    Entrez le nom de la categorie : <input type="text" name="nom"/> <br/>
    Entrez la description de la categorie de la methode : <input type="text" name="description"/><br/>
    <input type="submit" name="valider2" value="Ajouter"/>
     
    <?php
    if (isset ($_POST['valider2'])){
    //On récupère les valeurs entrées par l'utilisateur :
    $idcategorie=$_POST['idcategorie'];
    $nom=$_POST['nom'];
    $description=$_POST['description'];
    //On se connecte
    connectMaBase();
    //On prépare la commande sql d'insertion
    $sql = 'INSERT INTO categorie VALUES("'.$idcategorie.'","'.$nom.'","'.$description.'")';
    /*on lance la commande (mysql_query) et au cas où,
    on rédige un petit message d'erreur si la requête ne passe pas (or die)
    (Message qui intègrera les causes d'erreur sql)*/
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion
    mysql_close();
    }
    ?>
    </fieldset>
    </form>
     
    <h2>Veuillez saisir les informations concernants les elements graphiques :</h2>
    <form name="Methode" method="post" action="formulaireprincipale.php">
    <fieldset>
    Entrez l'identifiant de l'element graphique  : <input type="text" name="idelement"/> <br/>
    Entrez le nom de l'élement  :  <input type="text" name="nom"/> <br/>
    Entrez l'evenement associé à l'element graphique : <input type="text" name="evenement"/><br/>
    <input type="submit" name="valider3" value="Ajouter"/>
     
    <?php
    if (isset ($_POST['valider3'])){
    //On récupère les valeurs entrées par l'utilisateur :
    $idelement=$_POST['idelement'];
    $nom=$_POST['nom'];
    $evenement=$_POST['evenement'];
    //On se connecte
    connectMaBase();
    //On prépare la commande sql d'insertion
    $sql = 'INSERT INTO elementsgraphiques VALUES("'.$idelement.'","'.$nom.'","'.$evenement.'")';
    /*on lance la commande (mysql_query) et au cas où,
    on rédige un petit message d'erreur si la requête ne passe pas (or die)
    (Message qui intègrera les causes d'erreur sql)*/
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion
    mysql_close();
    }
    ?>
    </fieldset>
    </form>
     
    </body>
    </html>

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    piouf, la balise 'code' aurait ete le bienvenue (le diez)
    sinon, tu peux tres bien mettre tous tes champs a remplire dans le meme formulaire (ca te fait un formulaire avec tes 15 INPUT (si j'ai bien compte) )
    et tout traiter d'un coup
    il faudra juste faire attention a pas te melanger les pinceaux :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    if(!empty($_POST["ton-bouton"])){
    //tu recupere tous tes postes...
     
    $idmethode=$_POST['idmethode'];
    $nom=$_POST['nom'];
    $description=$_POST['description'];
    $lien=$_POST['lien'];
     
    $idbibliographie=$_POST['idbibliographie'];
    $auteur=$_POST['auteur'];
    $annee=$_POST['annee'];
    $description=$_POST['description'];
    $lien=$_POST['lien'];
     
    $idcategorie=$_POST['idcategorie'];
    $nom=$_POST['nom'];
    $description=$_POST['description'];
     
    $idelement=$_POST['idelement'];
    $nom=$_POST['nom'];
    $evenement=$_POST['evenement'];
     
    //puis tu fais tes requetes
    //On se connecte
    connectMaBase();
    $sql = 'INSERT INTO methode VALUES("'.$idmethode.'","'.$nom.'","'.$description.'","'.$lien.'")';
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    $sql = 'INSERT INTO bibliographie VALUES("'.$idbibliographie.'","'.$auteur.'","'.$annee.'","'.$description.'","'.$lien.'")';
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    $sql = 'INSERT INTO categorie VALUES("'.$idcategorie.'","'.$nom.'","'.$description.'")';
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    $sql = 'INSERT INTO elementsgraphiques VALUES("'.$idelement.'","'.$nom.'","'.$evenement.'")';
    mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion
    mysql_close();
    }//fin if(!empty($_POST["ton-bouton"])){
    par contre, il faudra faire attention au nom des champs INPUT, qu'il n'y en ai pas 2 identiques (comme c'est le ca ici)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    c jolie ce que t'a fais
    mais le pbm est que je dois gerer chaque table separement
    c a d je peut ne pas ajouter de biblio alors que j ai ajouter une nouvelle methode
    qui implique que je dois gerer plusieurs tables avec plusieurs submit
    un submit pour chaque table

  8. #8
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    donc tu va devoir jouer avec l'ajax car pour un code purement en php tu ne peut pas valider un formulaire sans écraser les données des autres et si tu modifié 2 de tes fameux formulaire dans ta page unique seul les données du formulaire qui correspond au boutton submit que tu aura valider marcheras.

    Les mieux serais donc d'avoir un appel ajax de tes 4 formulaire permettant ainsi un triatement séparé pour l'ensemble des formulaires.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    Oui apparement c la seule solution
    es ce que vous avez un tuto pour debutant ajax please

  10. #10
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    Hello,

    Je te conseille de passer par un framework comme par exemple Jquery ou Mootools...

    Ma préférence va a Jquery mais les deux se valent amplement

    @+
    cadou

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    es ce que vous pouvez m aider sur la maniere de declarer un script qui me permet de rafrichir les tableaux de ma page chacun separement
    c a d d affecter a chaque submit un script en utilisant ajax biensure

    Un bout de code prototype

Discussions similaires

  1. [MySQL] plusieurs formulaire dans une seule page
    Par naim2009 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/03/2009, 20h54
  2. Gérer plusieurs connexions dans une seule page Aspx
    Par Inspirate dans le forum Accès aux données
    Réponses: 6
    Dernier message: 12/07/2007, 15h06
  3. [MySQL] Connections à plusieurs serveurs dans une seule page php
    Par Pgs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2006, 16h59
  4. Plusieurs formulaires dans une seule servlet
    Par bf83 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/03/2006, 15h21
  5. plusieurs formulaires pour une seule page ?
    Par lifecraft dans le forum ASP
    Réponses: 9
    Dernier message: 01/02/2006, 09h48

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