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] Tableau à 2 dimensions + input text


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut [Tableaux] Tableau à 2 dimensions + input text
    Bonjour,
    Je souhaite récupérer un tableau en deux dimensions : coloris / taille. Au croisement de chaque donnée, je
    souhaite mettre un <input type=text> pour que l'utilisateur saisisse les quantités...
    Voici mon code, (ce code ne comporte pas l'input text, j'essaye, dans un premier temps de récupérer les en
    -tetes, ca fait plusieurs jours que je suis dessus, et je ense qu'il faut mieux repartir d'une base
    "saine")
    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="css/css.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <form name="form1" method="post" action="stock2.php?product_id=<? echo $product_id; ?>">
    <? 
    include "fonctions/connexion.php";
    ?>
    <? 
    //LES TAILLES
    //Selection de la table article seulement les options (taille)
    $req_option = "select T_gOption.name NAMEOPTION, T_article.gOption_id GOPTIONID from T_article, T_gOption
        where T_gOption.id = T_article.gOption_id
        and product_id=$product_id and gOption_id !='0'
    "; 
    $res_option = mysql_db_query($base, $req_option, $connexion);
    //LES COLORIS
    $req_model = "select T_gOption.name NAMEMODEL, T_article.gModel_id GMODELID from T_article, T_gOption
        where T_gOption.id = T_article.gModel_id
        and product_id=$product_id and gModel_id !='0'
    "; 
    $res_model = mysql_db_query($base, $req_model, $connexion);
     for ($i=0; $i<mysql_num_rows($res_model); $i++) {
      $model = mysql_fetch_array($res_model);
      echo $model['NAMEMODEL']." (".$model['GMODELID'].")<br>";
     
      for ($j=0; $j<mysql_num_rows($res_option); $j++) {
       $option = mysql_fetch_array($res_option);
       echo $option['NAMEOPTION']." (".$option['GOPTIONID'].")<br>";
      }
     }
    ?>
    <input type="submit" value="Submit">
    </form>
    </body>
    </html>
    Après, je ne sais pas vraiment comment faire pour afficher le tableau et récupérer les champs saisis. Je
    pensais attribuer aux names des imput text, une valeur égale à la concaténation des deux ID (ligne et
    colonnes)

    Merci à tous par avance !

  2. #2
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    pourré tu me dire juste ce qui cloche dans ton code ca iré plus vite je lé lu mé ... je voudré savoir ou se situ ce qui ne va pas ... je te diré koi après

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta rapidité !!! Je suis impressionnée. Le résultat m'affiche

    Bordeux (6)
    140 (1)
    160 (22)
    190 (3)
    200 (4)
    220 (5)
    pourpre (7)
    ()
    ()
    ()
    ()
    ()
    rouge (8)
    ()
    ()
    ()
    ()
    ()

    je ne sais pas comment faire ma boucle pour créer un tableau qui aurait pour première ligne 'vide' 'Bordeaux' 'Pourpre' 'Rouge', (les entêtes de colonnes qui correspondent aux coloris) et les valeurs 140, 160, 190, 200, 220 en en-tete de ligne
    Je cherche à mettre un input text à l'intersection de chaque ligne/colonne
    dans lequel je voudrais que chaque name pour chaque input corresponde à la concaténation de l'id de la colonne avec l'id de la ligne....
    J'y arrive pô

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    je recapitule pour voir si j'ai bien compris pour le debut ca donneré ca :

    vide(5)

    Bordeaux (6)

    pourpre (7)

    rouge (8)

    mais je vois pas trop ce que tu ve dire en fait pour les entete de colonne tu pourré me montré l'exemple de ce que tu veux obtenir s'il te plé ... et pis comme ca je te diré quoi ^^

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    En fait j'aimerais bien un tableau comme ça...

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    J'ai changé 2 3 truc mais je n'ais pas testé tu a tout du moins l'idée générale ... voila ben si ya encore une erreur ben remet un post :

    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
     
    <? 
    //LES TAILLES
    //Selection de la table article seulement les options (taille)
    $req_option = "select T_gOption.name NAMEOPTION, T_article.gOption_id GOPTIONID from T_article, T_gOption
        where T_gOption.id = T_article.gOption_id
        and product_id=$product_id and gOption_id !='0'
    "; 
    $res_option = mysql_db_query($base, $req_option, $connexion);
    //LES COLORIS
    $req_model = "select T_gOption.name NAMEMODEL, T_article.gModel_id GMODELID from T_article, T_gOption
        where T_gOption.id = T_article.gModel_id
        and product_id=$product_id and gModel_id !='0'
    "; 
    $res_model = mysql_db_query($base, $req_model, $connexion);
    $num=mysql_num_rows($res_model); 
     
    echo "<table>";
    echo "<tr>";
    echo "<td></td>";
     for ($i=0; $i<$num;$i++) {
        $model = mysql_fetch_array($res_model);
     
        echo "<td>".$model['NAMEMODEL']." (".$model['GMODELID'].")"."</td>";
      }
     
    echo "</tr>";
      for ($j=0; $j<mysql_num_rows($res_option); $j++) {
          $option = mysql_fetch_array($res_option);
          echo "<tr>";
          echo "<td>".$option['NAMEOPTION']." (".$option['GOPTIONID'].")".</td>";
          for ($i=1; $i<$num;$i++) {
              echo "<td>/*ton input*/</td>";
          }
          echo "</tr>";
       }
    echo "</table>";
    ?>

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci ! C'est vraiment super de m'aider... Donc, j'ai repris le code que tu m'as donné et je l'ai transformé pour y mettre mon input et j'ai modifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for ($i=0; $i<$num;$i++)
    { en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for ($i=1; $i<$num;$i++)
    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
    <? 
    //LES TAILLES
    //Selection de la table article seulement les options (taille)
    $req_option = "select T_gOption.name NAMEOPTION, T_article.gOption_id GOPTIONID from T_article, T_gOption
        where T_gOption.id = T_article.gOption_id
        and product_id=$product_id and gOption_id !='0'
    "; 
    $res_option = mysql_db_query($base, $req_option, $connexion);
    //LES COLORIS
    $req_model = "select T_gOption.name NAMEMODEL, T_article.gModel_id GMODELID from T_article, T_gOption
        where T_gOption.id = T_article.gModel_id
        and product_id=$product_id and gModel_id !='0'
    "; 
    $res_model = mysql_db_query($base, $req_model, $connexion);
    $num=mysql_num_rows($res_model); 
     
    echo "<table border='1'>";
    echo "<tr>";
    echo "<td></td>";
     for ($i=0; $i<$num;$i++) {
        $model = mysql_fetch_array($res_model);
     
        echo "<td>".$model['NAMEMODEL']." (".$model['GMODELID'].")"."</td>";
      }
     
    echo "</tr>";
      for ($j=0; $j<mysql_num_rows($res_option); $j++) {
          $option = mysql_fetch_array($res_option);
          echo "<tr>";
          echo "<td>".$option['NAMEOPTION']." (".$option['GOPTIONID'].")</td>";
          for ($i=1; $i<$num;$i++) {
              echo "<td><input type='text' name='".$option['GOPTIONID'].$model['GMODELID']."'></td>";
          }
          echo "</tr>";
       }
    echo "</table>";
    ?>
    J'ai besoin de récupérer les valeurs saisies par l'utilisateur dans chaque champ et donc d'identifier chaque input.
    Pour cela, je pensais concaténer les deux ID des colonnes... Mais je ne récupère que le dernier ID (8 ici) de la requete model...
    Voici le code source de ce que je récupère....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="css/css.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <form name="form1" method="post" action="stock2.php?product_id=1">
    <table border='1'><tr><td></td><td>Bordeux (6)</td><td>pourpre (7)</td><td>rouge (8)</td></tr><tr><td>140 (1)</td><td><input type='text' name='18'></td><td><input type='text' name='18'></td><td><input type='text' name='18'></td></tr><tr><td>160 (22)</td><td><input type='text' name='228'></td><td><input type='text' name='228'></td><td><input type='text' name='228'></td></tr><tr><td>190 (3)</td><td><input type='text' name='38'></td><td><input type='text' name='38'></td><td><input type='text' name='38'></td></tr><tr><td>200 (4)</td><td><input type='text' name='48'></td><td><input type='text' name='48'></td><td><input type='text' name='48'></td></tr><tr><td>220 (5)</td><td><input type='text' name='58'></td><td><input type='text' name='58'></td><td><input type='text' name='58'></td></tr></table><input type="submit" value="Submit">
    </form>
    </body>
    </html>

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    c normal ... a la fin de la première boucle :

    [code] $model['GMODELID'] => 8 [\code]

    il est deja rentré et donc a finit son incrémentation

    je te conseil de prendre plutot le compteur $i pour que cela marche

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Je viens de mettre $i mais dans ce cas, je reçois 1, 2, 3 qui correspond à l'indice de mon tableau mais pas à l'identifiant. Comment-faire pour récupérer l'identifiant.... Dans le fichier stock2.php, j'ai uniquement cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach( $_POST as $key=>$val )  { 
        echo  $key.' = <input type="text" name="', $key,'" value="', $val, '" /><br />';}
    et à terme, je voudrais ajouter une requête pour insérer les données saisies, je dois donc récupérer les deux identifiants...

  10. #10
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    Alors, il faut que tu cré un tableau $tab[] dans la première boucle qui recupere les valeurs de $model['GMODELID'] et qui s'incrémente avec l'indice $i.

    Puis dans la 2eme boucle tu devra recupéré les valeurs en mettant a la place de ce que je té fé mettre tout a leur avec $i le tablo c a dire tab[$i]

    voila voila

  11. #11
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Je suis un boulet !

    Voici ce que j'ai fait suivant tes conseils
    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
    <? 
    //LES TAILLES
    //Selection de la table article seulement les options (taille)
    $req_option = "select T_gOption.name NAMEOPTION, T_article.gOption_id GOPTIONID from T_article, T_gOption
        where T_gOption.id = T_article.gOption_id
        and product_id=$product_id and gOption_id !='0'
    "; 
    $res_option = mysql_db_query($base, $req_option, $connexion);
    //LES COLORIS
    $req_model = "select T_gOption.name NAMEMODEL, T_article.gModel_id GMODELID from T_article, T_gOption
        where T_gOption.id = T_article.gModel_id
        and product_id=$product_id and gModel_id !='0'
    "; 
    $res_model = mysql_db_query($base, $req_model, $connexion);
    $num=mysql_num_rows($res_model); 
     
    echo "<table border='1'>";
    echo "<tr>";
    echo "<td></td>";
     for ($i=0; $i<$num;$i++) {
        $model = mysql_fetch_array($res_model);
     $tab[] = array($model['GMODELID']);
        echo "<td>".$model['NAMEMODEL']." (".$model['GMODELID'].")"."</td>";
      }
     
    echo "</tr>";
      for ($j=0; $j<mysql_num_rows($res_option); $j++) {
          $option = mysql_fetch_array($res_option);
          echo "<tr>";
          echo "<td>".$option['NAMEOPTION']." (".$option['GOPTIONID'].")</td>";
          for ($i=0; $i<$tab[$i];$i++) {
              echo "<td><input type='text' name='".$option['GOPTIONID'].$i."'></td>";
          }
          echo "</tr>";
       }
    echo "</table>";
    ?>
    Et j'obtiens : Notice: Undefined offset: 3 in d:\easyphp1-7\www\lebazarparisien\stock_forum.php on line 44
    160 (22)
    Notice: Undefined offset: 3 in d:\easyphp1-7\www\lebazarparisien\stock_forum.php on line 44
    190 (3)
    Notice: Undefined offset: 3 in d:\easyphp1-7\www\lebazarparisien\stock_forum.php on line 44
    200 (4)
    Notice: Undefined offset: 3 in d:\easyphp1-7\www\lebazarparisien\stock_forum.php on line 44
    220 (5)
    Notice: Undefined offset: 3 in d:\easyphp1-7\www\lebazarparisien\stock_forum.php on line 44

    Désolée et vraiment je te remercie mille fois, parce que je suis vraiment dans la m... avec cette histoire, c'est cool !

  12. #12
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 82
    Points : 78
    Points
    78
    Par défaut
    héhé c pas grave, voila :

    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
     
    <? 
    //LES TAILLES
    //Selection de la table article seulement les options (taille)
    $req_option = "select T_gOption.name NAMEOPTION, T_article.gOption_id GOPTIONID from T_article, T_gOption
        where T_gOption.id = T_article.gOption_id
        and product_id=$product_id and gOption_id !='0'
    "; 
    $res_option = mysql_db_query($base, $req_option, $connexion);
    //LES COLORIS
    $req_model = "select T_gOption.name NAMEMODEL, T_article.gModel_id GMODELID from T_article, T_gOption
        where T_gOption.id = T_article.gModel_id
        and product_id=$product_id and gModel_id !='0'
    "; 
    $res_model = mysql_db_query($base, $req_model, $connexion);
    $num=mysql_num_rows($res_model); 
     
    echo "<table border='1'>";
    echo "<tr>";
    echo "<td></td>";
     for ($i=0; $i<$num;$i++) {
        $model = mysql_fetch_array($res_model);
     $tab[$i] = $model['GMODELID'];
        echo "<td>".$model['NAMEMODEL']." (".$model['GMODELID'].")"."</td>";
      }
     
    echo "</tr>";
      for ($j=0; $j<mysql_num_rows($res_option); $j++) {
          $option = mysql_fetch_array($res_option);
          echo "<tr>";
          echo "<td>".$option['NAMEOPTION']." (".$option['GOPTIONID'].")</td>";
          for ($i=0; $i<$num;$i++) {
              echo "<td><input type='text' name='".$option['GOPTIONID'].$tab[$i]."'></td>";
          }
          echo "</tr>";
       }
    echo "</table>";
    ?>
    Je pensé plus a quelques chose dans ce style tu n'as qu'a tester je ne suis pas sur de moi mais normalement ca marche ...

  13. #13
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Ca marche ! C'est génial, merci merci merci

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

Discussions similaires

  1. [Tableaux] Tableau de zones de texte
    Par ashash dans le forum Langage
    Réponses: 7
    Dernier message: 30/06/2007, 16h13
  2. [Tableaux] Tableau à 2 dimensions: utilisation
    Par kurkaine dans le forum Langage
    Réponses: 3
    Dernier message: 11/01/2007, 20h14
  3. [Tableaux] Tableau à 3 dimensions
    Par nais_ dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2006, 15h45
  4. [Tableaux] Tableau à 3 dimensions
    Par phpaide dans le forum Langage
    Réponses: 2
    Dernier message: 20/04/2006, 15h06
  5. [Tableaux] Tableau à 2 dimensions
    Par LoST_MiNd dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2005, 16h16

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