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 :

[php5]tableau HTML + enregistrement base de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 159
    Par défaut [php5]tableau HTML + enregistrement base de données
    Bonjour,

    Voici ma configuration : Installation de Wamp Server, développement de programme en PHP5

    Tout d'abord il faut savoir que je débute en PHP.
    Je suis en train de développer un petite application à l'aide de PHP5 et d'une base de données créer via Wamp.
    Mon application est un tableau de bord ou chaque personne d'un service doit remplir pour chaque semaine les actions et temps sur les activités de la semaine.

    Mon soucis est le suivant :
    Suivant s'il ya des infos dans la base de données je l'ai affiche. Pour cela pas de problème mais c'est au niveau de l'enregistrement.
    j'affiche les données dans un tableau, ces données peuvent etre modifier. Si il y a rien dans la base de données, des lignes vides s'affichent, ce sont des zones de texte à remplir.

    je voudrais que quand on clique sur le bouton "Envoyer", les infos vont s'enregistrer dans la base de données. La est mon problème, je ne vois pas comment faire. Je connais la ligne pour enregistrer dans une base de données mais la c un peu compliqué et je m'en sort pas.

    J'ai fait une boucle pour afficher les infos. mais je sais pas comment les enregistrer. je sais pas si je dois créer un autre fichier, comment récupérer ces informations ???



    Je vous donne la partie ou j'affiche mes données
    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
     
    else if ('S'.$semaine==$ACTION){
                        //affichage des données
                        echo '<tr>';
                        //FAIRE REQUETE SUR SUIVI PROJET SI VIDE AFFICHER MENU DEROULANT SINON RECUP DONNEES
                        //recuperer les donnees de cette activite
                            $query = "SELECT * FROM suiviprojet WHERE suiviprojet.idPersonne =" . $_SESSION['id_personne']." and suiviprojet.semaine ='" . $ACTION . "'";
                         //resultat de la requete sous format texte
                         $result = mysql_query($query, $link) or die($query . " - " . mysql_error());
                         //creation d un tableau de la requete
                         $TOTAL = mysql_num_rows($result);
                         //si le suiviprojet non rempli
                         if ($TOTAL == null){
                            //requete pour recuperer les projets
                               $queryP = "SELECT projet.libelle, projet.idActivite FROM role,projet WHERE role.idActivite=projet.idActivite and role.idPersonne =" . $_SESSION['id_personne'];
                            //resultat de la requete sous format texte
                            $resultP = mysql_query($queryP, $link) or die($queryP . " - " . mysql_error());
                            //creation liste deroulante sur non projet
                            echo "<td>";
                            echo '<select name="selectAct" id="selectAct" onchange="document.form1.submit();">';
                            //si aucune activite selection ->reste sur cette position
                            if ($Activite == '') {
                                  echo '<option selected>&nbsp;</option>';             
                                  //creation d un tableau de la requete + boucle pour afficher dans liste
                                while ($rowP = mysql_fetch_array($resultP)) {   
                                      $PROJET=$rowP['libelle'];
                                      $PROJETID=$rowP['idActivite'];
                                      echo '<option VALUE="'.$PROJETID.'">'.$PROJET.'</option>';
                                }
                            } else {//si une activite selectionne -> rester sur cette position
                                  echo '<option>&nbsp;</option>';               
                                  //creation d un tableau de la requete + boucle pour afficher dans liste
                                while ($rowP = mysql_fetch_array($resultP)) {   
                                      $PROJET=$rowP['libelle'];
                                      $PROJETID=$rowP['idActivite'];
                                      if ($PROJETID == $Activite)
                                        echo '<option VALUE="'.$PROJETID.'" selected>'.$PROJET.'</option>';      
                                      else
                                        echo '<option VALUE="'.$PROJETID.'">'.$PROJET.'</option>';
                                }
                            }    
                            echo '</select>';
                            echo "</td>";   
                            echo '<td><INPUT NAME="Type" SIZE=3 value=""></td>';   
                                 echo '<td><INPUT NAME="EA" value=""></td>';
                                 echo '<td><INPUT NAME="Statut" SIZE=3 value=""></td>';
                                 echo '<td><INPUT NAME="PA" value=""></td>';
                         }//fin non rempli
                         //si le suiviprojet rempli
                         else {                           
                               //recuperer les donnees des projets activite
                               $query = "SELECT * FROM suiviprojet,projet WHERE suiviprojet.idPersonne =" . $_SESSION['id_personne']." and suiviprojet.idActivite=projet.idActivite";
                            //resultat de la requete sous format texte
                            $result = mysql_query($query, $link) or die($query . " - " . mysql_error());
                            //creation d un tableau de la requete
                              while ($tab = mysql_fetch_array($result)){
                                    echo '<tr>';
                                    echo '<td><INPUT NAME="'.$tab['idActivite'].'" SIZE=50 MAXLENGTH=50 value="'.$tab['libelle'].'"></td>';
                                    echo '<td><INPUT NAME="Type" SIZE=3 value="'.$tab['type'].'"></td>';   
                                    echo '<td><INPUT NAME="EA" value="'.$tab['etatAvancement'].'"></td>';
                                    echo '<td><INPUT NAME="Statut" SIZE=3 value="'.$tab['statut'].'"></td>';
                                    echo '<td><INPUT NAME="PA" value="'.$tab['prochaineAction'].'"></td>';
                                    //recuperer les temps de cette activite
                                  $queryT = "SELECT heure FROM temps,suivitemps WHERE suivitemps.idPersonne =" . $_SESSION['id_personne']." and suivitemps.idActivite=".$tab['idActivite']." and suivitemps.idTemps=temps.idTemps";
                               //resultat de la requete sous format texte
                               $resultT = mysql_query($queryT, $link) or die($queryT . " - " . mysql_error());
                               //creation d un tableau de la requete
                               while ( $temps = mysql_fetch_array($resultT)){
                                  //L AFFICHER DANS LA BONNE CASE ---> A FAIRE
                                  echo '<td><div align="center"><INPUT NAME="Heure" SIZE=3 value="'.$temps['heure'].'"></div></td>';   
                               }
                               echo '</tr>';
                              }
     
                          }//fin rempli
     
                         //affichage cumul heure de activite
                         echo '<td>&nbsp;</td>';
                        echo '</tr>';
                        //affichage de la ligne des operations
                        echo '<tr>';
                          echo '<td>Op&eacute;rations</td>';
                          echo '<td>Type (O/OS) </td>';
                          echo '<td>Date derni&egrave;re r&eacute;alisation </td>';
                          echo '<td>Statut</td>';
                          echo '<td>Commentaires</td>';
                          echo '<td>&nbsp;</td>';
                          echo '<td>&nbsp;</td>';
                         echo '<td>&nbsp;</td>';
                          echo '<td>&nbsp;</td>';
                          echo '<td>&nbsp;</td>';
                         echo '<td>&nbsp;</td>';   
                        echo '</tr>';
     
                      echo '</table>';
                      //bouton d enregistrement
                      echo '<Center><input value="Envoyer" type="submit" Class=NQbutton></Center>';
                     }//fin semaine en cours

  2. #2
    Membre chevronné Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Par défaut
    Quand tu valides un formulaire les informations sont envoyées à ton fichier définit. Ce fichier est défnit à l'aide de l'attribut
    de la balise
    La méthode d'envoie est défnit à l'aide de l'attribute
    de la même balise. La valeur GET peut lui être attribuer.

    Dans ton fichier mapage.php, tu récuperas les information à l'aide de $_POST ou $_GET en fonction de la method utilisé, en général POST est prefere, puisqu'avec le method GET les valeur apparaisse dans la barre d'adresse.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    page générée
    <form name="myform" method="POST" action="mapage.php">
          <input name="myinput" value="" />
    </form>
    
    mapage.php
    <?php
        echo $_POST['myinput'];
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 159
    Par défaut
    Mon soucis est que avant l'affichage, j'ai fait des menus déroulant et donc j'utilise la méthode POST pour récupérer ces valeurs dans le ficheir prncipale.
    Si je met quelque chose dans action, quand je clique dans le menu déroulant, je susi renvoyer direct dans la deuxième page.

    Peut on avoir deux <form> dans un fichier ??

  4. #4
    Membre chevronné Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Par défaut
    oui tu peux en avoir autant que tu le souhaites...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 159
    Par défaut
    ben pourtant j'ai mis une balise FORM pour mon menu déroulant
    Puis un autre pour mon affichage et quand je clique sur enregistrer, rien ne se passe. Pour l'instant je fesais juste afficher un message!!!!

  6. #6
    Membre chevronné Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Par défaut
    Tu fermes correctement tes balises ? l'attribut action est-il définit ? chaque validation d'un formulaire en submit entraine un rafraichissement de page...

    Peux tu donner le code contenant les deux formulaires ?

Discussions similaires

  1. Insérer un tableau HTML en base de données
    Par Blo0d4x3 dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2010, 19h25
  2. Réponses: 0
    Dernier message: 23/07/2009, 09h37
  3. [MySQL] refaire le tableau de la base de données
    Par jarbi62 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/11/2006, 10h57
  4. Réponses: 1
    Dernier message: 24/08/2006, 17h17
  5. [Conception] HTML et Bases de données
    Par Jukien dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/04/2006, 14h52

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