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 :

creer tableau à 2 dimensions avec 3 variables.


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut creer tableau à 2 dimensions avec 3 variables.
    Bonjour,

    Je galère depuis un petit moment sur un truc trop compliqué pour moi.
    Je désire faire un tableau à 2 dimensions qui sera généré automatiquement en fonction de ce qu'il ya dans la base.
    Mon principe est assez simple, c'est un fichier qui reglera les droits d'acces de chacun des employes de la societe, en fonction des droits et type de droits.
    Ce que j'appelle type de droit sont "lecture et ecriture".
    Et des cases à cocher rempliront les cases du tableau (comme un peu la gestion de droits de windows)

    Voici un exemple de ce que je voudrais en piece jointe.

    J'ai reussi avec uniquement les noms en dynamique mais pas les 2 snif.
    SVP aidez moi, comment pourrais-je résoudre ceci ?

    voici mon code de la génération du tableau que j'avais fait, si ça peut aider ^^
    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
    //connexion base
    $sql="select IDENTIFIANT from identifiants";
    $res=ODBC_exec($connect,$sql);
    while (odbc_fetch_row($res))
    {
      $cpt += 1;
      $id = trim(ODBC_result($res,"IDENTIFIANT"));
      echo "<tr><td><font color='black' size=2 face='arial'>".$id."</font><br></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_art_".$id."\" id=\"lect_art_".$id."\" value=\"1\"></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_art_".$id."\" id=\"ecri_art_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_cmd_".$id."\" id=\"lect_cmd_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_cmd_".$id."\" id=\"ecri_cmd_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_par_".$id."\" id=\"lect_par_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_par_".$id."\" id=\"ecri_par_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_sta_".$id."\" id=\"lect_sta_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_sta_".$id."\" id=\"ecri_sta_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_fia_".$id."\" id=\"lect_fia_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_fia_".$id."\" id=\"ecri_fia_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_imp_".$id."\" id=\"lect_imp_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_imp_".$id."\" id=\"ecri_imp_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_swi_".$id."\" id=\"lect_swi_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_swi_".$id."\" id=\"ecri_swi_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"lect_spa_".$id."\" id=\"lect_spa_".$id."\" value=\"1\" ></center></td>";
      echo "<td><center><input type=\"checkbox\" name=\"ecri_spa_".$id."\" id=\"ecri_spa_".$id."\" value=\"1\" ></center></td>";
      echo "</tr>";
     
    }
    //deconnexion base
    echo "</table><br><br><center><input type=\"submit\" name=\"modifier\" id=\"modifier\" value=\"Modifier\"></center>";
    echo "<br><br><font face='arial' size=2><i>Sur un total de <b>".$cpt."</b> personnes.</i></font></form>";
    Merci
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Un truc comme ca ?

    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
    $droits = array('art', 'cmd', 'par', 'sta', 'fia','imp','swi','spa');
     
    while (odbc_fetch_row($res))
    {
      $cpt += 1;
      $id = trim(ODBC_result($res,"IDENTIFIANT"));
      echo "<tr><td><font color='black' size=2 face='arial'>".$id."</font><br></td>";
     
      foreach ($droits as $droit) {
    	echo '<td><center><input type="checkbox" name="lect_' . $droit . '_' .$id. '" id="lect_' . $droit . '_'.$id.'" value="1"></center></td>';
    	echo '<td><center><input type="checkbox" name="ecri_' . $droit . '_' .$id. '" id="ecri_' . $droit . '_'.$id.'" value="1"></center></td>';
     }
      echo "</tr>";
     
    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    Bonjour et merci de ta réponse

    pas exactement, mais on s'en rapproche...
    En fait, pour le rendu final, je voudrais que mon tableau soit inversé par rapport à celui que j'ai mis en pièce jointe. Les noms en dynamique en haut, et les droits en dynamique à gauche.
    Les noms proviennent d'une table IDENTIFIANTS
    Et les droits proviennent d'une table DROITS (cs en piece jointe la structure de la table droits)

    waa ça devient trop compliqué pour moi là lol
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ne mélangeons pas le fond et la présentation.

    1 - Tu recuperes la liste des tes utilisateurs, ca tu l'as fait.
    2 - Tu recuperes la liste de tes droits, elle va remplacer le $droits que j'ai écris a la main dans mon code.

    Pour inverser la presentation, tu as juste a inverser les boucles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    <table>
    boucle droit {
    <tr>
       boucle utilisateur {
         <td>
       }
    }

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    j'essaye et je te tiens au courant merci

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/12/2007, 10h41
  2. [8.5] Impossible de creer une table croisée avec une variable shared
    Par rihiveli dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/04/2007, 11h32
  3. Tableau à 2 dimensions avec utilisation de MALLOC
    Par johnalias110 dans le forum C
    Réponses: 3
    Dernier message: 28/02/2007, 19h54
  4. créer un tableau 2 dimensions avec Malloc
    Par nimportekoi dans le forum C
    Réponses: 14
    Dernier message: 15/11/2006, 14h01
  5. allouer un tableau 2 dimensions avec shmget.
    Par youp_db dans le forum C
    Réponses: 3
    Dernier message: 12/06/2006, 12h11

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