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 :

Récupérer des données d'un tableau html [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Par défaut Récupérer des données d'un tableau html
    Bonjour tout le monde

    j'ai un tableau html avec des champs de saisie dans chaque cellule je veux récupéré les valeurs entrée par l'utilisateur et les mettre dans un autre tableau html d'une autre page

    page1:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <form name="form1" method="post" action="tableau2.php">
    <td height="33px"><input type="text" name="l1c1" class="l1c1"></td>
    </from>

    page2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td class="cellule1"><?php echo $_POST['l1c1'];?></td>

    je dois faire la meme chose pour toutes les cas?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    tu ne peux envoyer au serveur qu'un formulaire a la fois, donc fait plutot comme ceci pour envoyer tous tes champs d'un coup. (en plus les <form> entre les <td> c'est interdit)

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form name="form1" method="post" action="tableau2.php">
    <table>
      <tr>
        <td><input type="text" name="l1c1"></td>
        <td><input type="text" name="l1c2"></td>
        <td><input type="text" name="l1c3"></td>
      </tr>
    //etc...
    </table
    </form>
    [EDIT: merci Couci de la remarque form, j'avais pas vu :]

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Par défaut
    Bonjour !

    Oui, la solution de gototog est la bonne, et ensuite tu récupère les données grâce au $_POST['l1c1'] ou $_POST['l1c2'] ou encore $_POST['l1c3'] en fonction de la donnée que tu veux récupérer

    Petite correction cependant : en fermant ta balise de formulaire </form> et non pas </from>

    Bonne continuation !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Par défaut
    gototog, c'est ce que je fais mon probleme a ce que je suis obligé de les récupéré de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td class="cellule1"><?php echo $_POST['l1c1'];?></td> 
    <td class="cellule1"><?php echo $_POST['l1c2'];?></td>
    ya pas un autre moyen au je ne suis pas obligé des réécrire la meme chose pr chaque cellule

    ps: ça marche tres bien mais je veux avoir une méthode plus pratique car j'ai bcp de cellule

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    y'a presque toujours moyen

    Seulement, je pense qu'on arrive directement dans du bidouillage.

    disons que tes champs input sont nommés nomInput1, nomInput2, nomInput3 etc.. jusqu'a 99
    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
     
    <?php
    $nb_input_max= 99;//ton nombre d'inputs
    ?>
    <table>
      <tr>
      <?php
      for($i=1; $i<= $nb_input_max; $i++) //une petite boucle : pour chaque input
      {
        if(isset($_POST['nomInput'.$i]))//on vérifie que ta variable existe, pour éviter les erreurs php
        { ?>
          <td><?php echo $_POST['nomInput'.$i];?></td>  <?php
        }else{
           echo '<td> erreur: $_POST["nomInput"'.$i.'"] n\'existe pas</td>';
        }
      } ?>
      </tr>
    </table>
    Voila, sauf que ce tableau te génère qu'une seule ligne, c'est fait volontairement, il est juste la pour te donner de l'inspiration, a toi de trouver le reste (petit indice, on rajoute des <tr> après un certain nombre de <td> )
    puis, fait le pour la génération du formulaire, en remplacant les $_post par des input par exemple

    EDIT: je viens de me rendre compte que l1c1 correspond a ligne1colonne1.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Par défaut
    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
     
    <table>
     
    <?php
    		 $nb_colonne_max= 18;
             $nb_ligne_max=13;
            for ($j=1;$j<=$nb_ligne_max;$j++)
            {
             ?>
    		 <tr>
    		<?php
    switch ($j) // on indique sur quelle variable on travaille
    {
    case 1: ?>
    <th colspan="3" scope="row">Stock Initial</th>
    <?php
    break;
    case 2: ?>
              <th  rowspan="6" scope="row">Entées</th>
              <th colspan="2">Importation</th>
    <?php          
    break;
    case 3: ?>
              <th rowspan="3">Ravitailler</th>
              <th >Naftal</th>
    		  <?php
    break;
    case 4: ?>
    <th>Tiers</th>
    <?php
    break;
    case 5:?>
     <th>Clients</th>
    <?php
    break;
    case 6:?>
    <th colspan="2">Formulations</th>
    <?php
    break;
    case 7:?>
    <th colspan="2">Excedents</th>
    <?php
    break;
    case 8:?>
    <th rowspan="5" scope="row">Sorties</th>
              <th colspan="2">Formulations</th>
    <?php
    break;
    case 9:?>
    <th colspan="2">Ventes</th>
    <?php
    break;
    case 10:?>
              <th colspan="2">Transferts</th>
    <?php
    break;
    case 11:?>
              <th colspan="2">Consom.Intèrne</th>
    <?php
    break;
    case 12:?>
              <th colspan="2">Coul  &amp; Pertes</th>
    <?php
    break;
    case 13:?>
              <th colspan="3" scope="row">Stock Final</th>
    <?php
    }		 
     
    				  for($i=1; $i<= $nb_colonne_max; $i++) 
                {
     
               ?>   
              <td class="cellule1"><?php echo $_POST['l'.$j.'c'.$i];?></td>
            <?php 
            }
            ?>
     
                 </tr>
            <?php
            }
    		?>
          </table>
    il me reste le problème des <th> obligé de mettre un switch
    vous pouvez m'orienté pour un truc plus pratique?
    ps: Merci bcp

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    tu peux mettre tout tes intitulés de th dans un $tableau_th, que tu parcours.
    Mais autant les mettre a la main, c'est plus propre et plus lisible

    ta boucle ligne/colonne n'intervient qu'après les th.
    en gros tu auras:
    1: bloc php avec initialisation des variables etc...
    2: initialisation de l'html du tableau: <table>, toute la partie <th>
    3: boucle des lignes/colonnes qui remplissent les td
    4: fin du html tableau </table> etc..

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2009, 09h38
  2. Réponses: 9
    Dernier message: 04/04/2007, 11h16
  3. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18

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